Mudbox/subdivision.h Source File
Go to the documentation of this file.
20 bool bSmoothPositions,
21 int iBoundaryRule,
bool bPreserveBorders,
bool bPreserveHardNormals,
bool bCreaseHardEdges,
bool bEnableCreasing )
56 virtual unsigned int Index(
void )
const;
58 virtual unsigned int TotalFaceCount(
void )
const;
60 virtual SubdivisionLevel *Subdivide(
bool bProcessUV =
true,
bool bSmoothPositions =
true,
bool bSmoothUV =
false,
61 bool bPreserveHardEdges =
true,
bool bCreaseHardEdges =
true,
bool bEnableCreasing =
true,
bool bPreserveBorders =
false);
65 virtual void ApplyChanges(
bool bToLowerLevel =
true );
68 virtual void RecreateUVs(
bool bForced =
false );
71 virtual bool ConvertSurfacePoint(
SurfacePoint &
p,
bool bUniform =
false )
const;
75 virtual unsigned int NextLevelQuadCount(
void )
const;
80 virtual void InitEdgeSharpness();
82 virtual bool HasEdgeSharpness()
const;
84 virtual void SetEdgeSharpness(
unsigned int iFaceIndex,
unsigned int iSideIndex,
float fEdgeWeight);
86 virtual float EdgeSharpness(
unsigned int iFaceIndex,
unsigned int iSideIndex)
const ;
89 virtual unsigned int VertexCreaseType(
unsigned int iVertexIndex);
91 inline unsigned int QuadVertexCreaseType(
unsigned int iFaceIndex,
unsigned int iCornerIndex) {
return VertexCreaseType(QuadIndex(iFaceIndex, iCornerIndex)); }
93 inline unsigned int TriangleVertexCreaseType(
unsigned int iFaceIndex,
unsigned int iCornerIndex) {
return VertexCreaseType(TriangleIndex(iFaceIndex, iCornerIndex)); }
96 virtual void InitEdgeSoftness();
98 virtual bool HasEdgeSoftness()
const;
100 virtual void SetEdgeSoftness(
unsigned int iFaceIndex,
unsigned int iSideIndex,
unsigned int iSoftness);
102 virtual unsigned int EdgeSoftness(
unsigned int iFaceIndex,
unsigned int iSideIndex)
const;
104 virtual unsigned int VertexHardness(
unsigned int iVertexIndex) ;
106 inline unsigned int QuadVertexHardness(
unsigned int iFaceIndex,
unsigned int iCornerIndex) {
return VertexHardness(QuadIndex(iFaceIndex, iCornerIndex)); }
108 inline unsigned int TriangleVertexHardness(
unsigned int iFaceIndex,
unsigned int iCornerIndex) {
return VertexHardness(TriangleIndex(iFaceIndex, iCornerIndex)); }
110 virtual void CheckValidity( DiagnosticLevel iLevel = dgnLevel2 )
const;
112 virtual void SetUseCustomIndices(
bool b );
123 static void SetUVCreation(
bool bCreateUV );
127 virtual void CheckMeshGrid(
unsigned int iBaseFaceIndex,
unsigned int iLevel )
const;
128 virtual void ConvertToRelative();
129 virtual void ConvertToAbsolute();
Represents a 3D vector or point with S23E8 floating point elements.
A Mesh is a collection of vertices organized into faces, and optional Texture Coordinate information...
bool m_bPreserveHardEdges
Describes a location somewhere on the surface of a Mesh.
unsigned int QuadVertexCreaseType(unsigned int iFaceIndex, unsigned int iCornerIndex)
Returns the vertex crease type of the specified face corner of a quad.
Class: ConvolutionKernel.
unsigned int TriangleVertexCreaseType(unsigned int iFaceIndex, unsigned int iCornerIndex)
Returns the vertex crease type of the specified face corner of a triangle.
unsigned int TriangleVertexHardness(unsigned int iFaceIndex, unsigned int iCornerIndex)
Returns the hardness of the specified face corner of a triangle.
unsigned int QuadVertexHardness(unsigned int iFaceIndex, unsigned int iCornerIndex)
Returns the hardness of the specified face corner of a quad.
Represents a 3d object in the scene.
Represents one level of subdivision details in a geometry.
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
SubdivisionInfo(bool bRemoveLevel, bool bRemoveOctree, bool bCreateUV, bool bSmoothPositions, int iBoundaryRule, bool bPreserveBorders, bool bPreserveHardNormals, bool bCreaseHardEdges, bool bEnableCreasing)