#include <maya/MPxGeometryOverride.h>
#include <maya/MIntArray.h>
#include <maya/MStateManager.h>
#include <maya/MTextureManager.h>
#include <set>
class apiMesh;
class apiMeshGeom;
namespace MHWRender
{
class MIndexBuffer;
}
{
public:
static MPxGeometryOverride* Creator(
const MObject& obj)
{
return new apiMeshGeometryOverride(obj);
}
virtual ~apiMeshGeometryOverride();
protected:
bool enableActiveComponentDisplay(
const MDagPath &path)
const;
unsigned int activeVertexCount,
unsigned int totalVerts,
bool debugPopulateGeometry);
unsigned int totalVerts);
unsigned int numTriangles,
unsigned int activeVertexCount,
std::set<int> & vertexIdSet,
bool debugPopulateGeometry);
std::set<int> & vertexIdSet,
unsigned int totalVerts);
std::set<int> & vertexIdSet,
unsigned int numTriangles);
unsigned int numTriangles);
apiMeshGeometryOverride(
const MObject& obj);
apiMesh* fMesh;
apiMeshGeom* fMeshGeom;
bool fCastsShadows;
bool fReceivesShadows;
MString fSelectedWireframeItemName;
MString fShadedModeFaceCenterItemName;
MString fWireframeModeFaceCenterItemName;
bool fDrawSharedActiveVertices;
bool fDrawActiveVerticesWithRamp;
bool fDrawFaceCenters;
bool fUseCustomColors;
int fProxyShader;
bool fInternalItems_NoShadowCast;
bool fInternalItems_NoShadowReceive;
bool fInternalItems_NoPostEffects;
bool fExternalItems_NoShadowCast;
bool fExternalItems_NoShadowReceive;
bool fExternalItems_NoPostEffects;
bool fExternalItemsNonTri_NoShadowCast;
bool fExternalItemsNonTri_NoShadowReceive;
bool fExternalItemsNonTri_NoPostEffects;
};