Public Types | Public Member Functions | Static Public Member Functions | Friends

MMeshSmoothOptions Class Reference

Search for all occurrences

Detailed Description

Options for control of smooth mesh generation.

The MMeshSmoothOptions class encapsulates settings that control the generation of smoothed version of a mesh. Meant for use with MFnMesh::generateSmoothMesh().

#include <MMeshSmoothOptions.h>

List of all members.

Public Types

enum  BoundaryRule {
  kInvalid = -1, kLegacy = 0, kCreaseAll, kCreaseEdge,
  kLast
}
 

Specifies how to apply boundary creasing to subd poly object.

More...

Public Member Functions

 MMeshSmoothOptions (void)
 Constructor.
virtual ~MMeshSmoothOptions (void)
 Destructor.
void setDivisions (int numDivisions, MStatus *ReturnStatus=NULL)
 Sets the number of divisions stored in this options object.
int divisions (MStatus *ReturnStatus=NULL) const
 Retrieves the level of smoothing these options specify to perform on the mesh.
void setSmoothness (float smoothness, MStatus *ReturnStatus=NULL)
 Sets the the smoothness parameter for this set of smooth options which has range [0,1] where 1 smooths the faces as much as possible.
float smoothness (MStatus *ReturnStatus=NULL) const
 Retrieves the smoothness parameter for this set of smooth options which has range [0,1] where 1 smooths the faces as much as possible.
void setSmoothUVs (bool smoothUVs, MStatus *ReturnStatus=NULL)
 Sets whether or not these options specify to smooth UVs as well as geometry.
bool smoothUVs (MStatus *ReturnStatus=NULL) const
 Retrieves whether or not these options specify to smooth UVs as well as geometry.
void setPropEdgeHardness (bool propEdgeHardness, MStatus *ReturnStatus=NULL)
 Sets whether or not these options specify that smooth mesh edges which are a result of edges from the base cage will share the hardness value.
bool propEdgeHardness (MStatus *ReturnStatus=NULL) const
 Retrieves whether or not these options specify that the smooth mesh edges which are a result of edges from the base cage will share the same hardness value.
void setKeepBorderEdge (bool keepBorderEdge, MStatus *ReturnStatus=NULL)
 Sets whether or not these options specify that border edges will not be smoothed.
bool keepBorderEdge (MStatus *ReturnStatus=NULL) const
 Retrieves whether or not these options specify that border edges will not be smoothed.
void setKeepHardEdge (bool keepHardEdge, MStatus *ReturnStatus=NULL)
 Sets whether or not these options specify that hard edges will not be smoothed.
bool keepHardEdge (MStatus *ReturnStatus=NULL) const
 Retrieves whether or not these options specify that hard edges will not be smoothed.
void setBoundaryRule (BoundaryRule rule, MStatus *ReturnStatus=NULL)
 Set the rule used to determine how boundary edges and vertices are creased.
BoundaryRule boundaryRule (MStatus *ReturnStatus=NULL) const
 Returns the current value for the boundary rule.

Static Public Member Functions

static const char * className ()
 Returns the name of this class.

Friends

class MFnMesh

Member Enumeration Documentation

Specifies how to apply boundary creasing to subd poly object.

Enumerator:
kInvalid 

Invalid value.

kLegacy 

Uses the legacy algorithm, which performed no creasing.

kCreaseAll 

Crease boundary edges & vertices with valence of exactly 2.

kCreaseEdge 

Crease boundary edges only.

kLast 

Last enum value.


Member Function Documentation

void setDivisions ( int  numDivisions,
MStatus ReturnStatus = NULL 
)

Sets the number of divisions stored in this options object.

Parameters:
[in]numDivisionsNumber of divisions.
[out]ReturnStatusStatus code (see below)
Status Codes:
int divisions ( MStatus ReturnStatus = NULL) const

Retrieves the level of smoothing these options specify to perform on the mesh.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
The smoothing level
Status Codes:
void setSmoothness ( float  smoothness,
MStatus ReturnStatus = NULL 
)

Sets the the smoothness parameter for this set of smooth options which has range [0,1] where 1 smooths the faces as much as possible.

Parameters:
[in]smoothnessThe smoothness
[out]ReturnStatusStatus code (see below)
Status Codes:
float smoothness ( MStatus ReturnStatus = NULL) const

Retrieves the smoothness parameter for this set of smooth options which has range [0,1] where 1 smooths the faces as much as possible.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
The smoothness parameter
Status Codes:
void setSmoothUVs ( bool  smoothUVs,
MStatus ReturnStatus = NULL 
)

Sets whether or not these options specify to smooth UVs as well as geometry.

Parameters:
[in]smoothUVsTrue if UVs should be smoothed
[out]ReturnStatusStatus code (see below)
Status Codes:
bool smoothUVs ( MStatus ReturnStatus = NULL) const

Retrieves whether or not these options specify to smooth UVs as well as geometry.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
True if UVs are set to be smoothed
Status Codes:
void setPropEdgeHardness ( bool  propEdgeHardness,
MStatus ReturnStatus = NULL 
)

Sets whether or not these options specify that smooth mesh edges which are a result of edges from the base cage will share the hardness value.

Parameters:
[in]propEdgeHardnessTrue if smooth edges should share hardness with the base cage
[out]ReturnStatusStatus code (see below)
Status Codes:
bool propEdgeHardness ( MStatus ReturnStatus = NULL) const

Retrieves whether or not these options specify that the smooth mesh edges which are a result of edges from the base cage will share the same hardness value.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
True if smooth edges share hardness with the base cage
Status Codes:
void setKeepBorderEdge ( bool  keepBorderEdge,
MStatus ReturnStatus = NULL 
)

Sets whether or not these options specify that border edges will not be smoothed.

Parameters:
[in]keepBorderEdgeTrue if border edges should not be smoothed
[out]ReturnStatusStatus code (see below)
Status Codes:
bool keepBorderEdge ( MStatus ReturnStatus = NULL) const

Retrieves whether or not these options specify that border edges will not be smoothed.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
True if border edges will not be smoothed
Status Codes:
void setKeepHardEdge ( bool  keepHardEdge,
MStatus ReturnStatus = NULL 
)

Sets whether or not these options specify that hard edges will not be smoothed.

Parameters:
[in]keepHardEdgeTrue if hard edges should not be smoothed
[out]ReturnStatusStatus code (see below)
Status Codes:
bool keepHardEdge ( MStatus ReturnStatus = NULL) const

Retrieves whether or not these options specify that hard edges will not be smoothed.

Parameters:
[out]ReturnStatusStatus code (see below)
Returns:
True if hard edges will not be smoothed
Status Codes:
void setBoundaryRule ( MMeshSmoothOptions::BoundaryRule  rule,
MStatus ReturnStatus = NULL 
)

Set the rule used to determine how boundary edges and vertices are creased.

By default, creases are automatically applied to all boundary edges and all vertices that have only 2 incident edges prior to being converted to a smooth mesh.

The possible rules are:

Parameters:
[in]ruleto apply
[out]ReturnStatusStatus code
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
  • MS::kObjectDoesNotExist The base stucture was not initialized properly
MMeshSmoothOptions::BoundaryRule boundaryRule ( MStatus ReturnStatus = NULL) const

Returns the current value for the boundary rule.

See setBoundaryRule() for more details.

Parameters:
[out]ReturnStatusStatus code
Returns:
Boundary rule.
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
  • MS::kObjectDoesNotExist The base stucture was not initialized properly
const char * className ( ) [static]

Returns the name of this class.

Returns:
Name of this class.

MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions
MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions MMeshSmoothOptions