added everything
This commit is contained in:
137
lib/mayasdk7/include/maya/MSwatchRenderBase.h
Executable file
137
lib/mayasdk7/include/maya/MSwatchRenderBase.h
Executable file
@@ -0,0 +1,137 @@
|
||||
#ifndef _MSwatchRenderBase
|
||||
#define _MSwatchRenderBase
|
||||
|
||||
//
|
||||
//-
|
||||
// ==========================================================================
|
||||
// Copyright (C) Alias Systems Corp., and/or its licensors ("Alias").
|
||||
// All rights reserved. These coded instructions, statements, computer
|
||||
// programs, and/or related material (collectively, the "Material")
|
||||
// contain unpublished information proprietary to Alias, which is
|
||||
// protected by Canadian and US federal copyright law and by international
|
||||
// treaties. This Material may not be disclosed to third parties, or be copied
|
||||
// or duplicated, in whole or in part, without the prior written consent of
|
||||
// Alias. ALIAS HEREBY DISCLAIMS ALL WARRANTIES RELATING TO THE MATERIAL,
|
||||
// INCLUDING, WITHOUT LIMITATION, ANY AND ALL EXPRESS OR IMPLIED WARRANTIES OF
|
||||
// NON-INFRINGEMENT, MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// IN NO EVENT SHALL ALIAS BE LIABLE FOR ANY DAMAGES WHATSOEVER, WHETHER DIRECT,
|
||||
// INDIRECT, SPECIAL, OR PUNITIVE, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
// OR OTHER TORTIOUS ACTION, OR IN EQUITY, ARISING OUT OF OR RELATED TO THE
|
||||
// ACCESS TO, USE OF, OR RELIANCE UPON THE MATERIAL.
|
||||
// ==========================================================================
|
||||
//+
|
||||
//
|
||||
// CLASS: MSwatchRenderBase
|
||||
//
|
||||
// ****************************************************************************
|
||||
//
|
||||
// CLASS DESCRIPTION (MSwatchRenderBase)
|
||||
//
|
||||
// ****************************************************************************
|
||||
|
||||
#if defined __cplusplus
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma warning(disable: 4522)
|
||||
#endif // _WIN32
|
||||
|
||||
// INCLUDED HEADER FILES
|
||||
|
||||
|
||||
#include <maya/MImage.h>
|
||||
|
||||
// DECLARATIONS
|
||||
|
||||
class MObject ;
|
||||
|
||||
/// Swatch Render Base class
|
||||
/**
|
||||
A class providing an interface through which a plugin can implement a
|
||||
class to provide custom rendered images for swatches which are
|
||||
displayed in hypershade and the Attribute Editor.
|
||||
|
||||
By deriving from this class and implementing the doIteration function,
|
||||
swatches for nodes (having the required classification) can be custom
|
||||
rendered by the plugin.
|
||||
|
||||
The derived class needs to be registered with Maya using the interface
|
||||
provided by MSwatchRenderRegister. Please refer to documentation of
|
||||
MSwatchRenderRegister for more details.
|
||||
|
||||
To indicate that swatch for a certain node type will be generated by
|
||||
the plugin the classfication string of the node needs to contain the
|
||||
following string : "swatch/<swatch generator name>" The swatch
|
||||
generator name string should match the name used to register the
|
||||
swatch generator class.
|
||||
*/
|
||||
class OPENMAYARENDER_EXPORT MSwatchRenderBase {
|
||||
public:
|
||||
/// constructor
|
||||
MSwatchRenderBase(MObject obj, MObject renderObj, int res);
|
||||
|
||||
/// destructor
|
||||
virtual ~MSwatchRenderBase();
|
||||
|
||||
/// Method called to do swatch image generation, derived classes
|
||||
/// needs to implement this.
|
||||
virtual bool doIteration() ;
|
||||
|
||||
/// returns the node for which the swatch is required to be generated
|
||||
MObject swatchNode() const ;
|
||||
/// returns the node used to compute the swatch
|
||||
MObject node() const ;
|
||||
|
||||
/// returns the expected resolution of the swatch image
|
||||
int resolution() const ;
|
||||
|
||||
/// returns the swatch image
|
||||
MImage& image() ;
|
||||
// this has to be a reference otherwise the internal image gets deleted !
|
||||
|
||||
protected :
|
||||
// node for which the swatch is required
|
||||
MObject fObjToSwatch ;
|
||||
MObject fObjToRender ;
|
||||
|
||||
// object in which the swatch image should be stored
|
||||
MImage fImage ;
|
||||
|
||||
// resolution at which the swatch image is to be generated
|
||||
int fRes ;
|
||||
|
||||
private:
|
||||
// No private members
|
||||
};
|
||||
|
||||
inline
|
||||
MObject MSwatchRenderBase::swatchNode() const
|
||||
{
|
||||
return fObjToSwatch ;
|
||||
}
|
||||
|
||||
inline
|
||||
MObject MSwatchRenderBase::node() const
|
||||
{
|
||||
return fObjToRender ;
|
||||
}
|
||||
|
||||
inline int
|
||||
MSwatchRenderBase::resolution() const
|
||||
{
|
||||
return fRes ;
|
||||
}
|
||||
|
||||
inline MImage&
|
||||
MSwatchRenderBase::image()
|
||||
{
|
||||
return fImage ;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma warning(default: 4522)
|
||||
#endif // _WIN32
|
||||
|
||||
// ****************************************************************************
|
||||
|
||||
#endif /* __cplusplus */
|
||||
#endif /* _MSwatchRenderBase */
|
||||
Reference in New Issue
Block a user