MNQuadChamferParameters Class Reference

MNQuadChamferParameters Class Reference

#include <MNQuadChamferParameters.h>

Class Description

This class is used to provide parameters to the Universal Quad Chamfer interface in IMNMeshUtilities16.

The parameter set includes all applicable parameters for Quad Chamfer operations and allows for specifying version numbers (See Quad Chamfer Version Values). In this way the IMNMeshUtilities16 interface can be used for any Quad Chamfer operations now and into the future – Various constructors are provided for ease of use, and as parameters are added in the future, constructors will be added to access that functionality.

+ Inheritance diagram for MNQuadChamferParameters:

Public Member Functions

 MNQuadChamferParameters (float amount, int segments, float tension, MN_QCHAM_TYPE resultType, DWORD flag)
 Constructor for operation as original version (Elwood/Max 2015) More...
 
 MNQuadChamferParameters (float amount, int segments, float tension, DWORD optionFlags, MN_QCHAM_TYPE resultType, DWORD flag, int version)
 Constructor for operation as Phoenix (Max 2016) version. More...
 
 MNQuadChamferParameters (float amount, float minAmount, float maxAmount, int segments, float tension, float depth, float insetAmount, int insetSegments, float insetOffset, float miterEndBias, DWORD optionFlags, MN_QCHAM_TYPE resultType, DWORD flag, int version)
 Constructor for operation as Athena (Max 2020) version or later. More...
 
unsigned int GetVersion () const
 
float GetAmount () const
 
float GetMinVarAmount () const
 
float GetMaxVarAmount () const
 
int GetSegments () const
 
float GetTension () const
 
float GetDepth () const
 
float GetInsetAmount () const
 
int GetInsetSegments () const
 
float GetInsetOffset () const
 
float GetMiterEndBias () const
 
DWORD GetOptionFlags () const
 
MN_QCHAM_TYPE GetResultType () const
 
DWORD GetFlag () const
 

Protected Attributes

unsigned int m_version
 The Quad Chamfer version to use (See Quad Chamfer Version Values) More...
 
float m_amount
 The chamfer amount for non-weighted chamfers. More...
 
float m_minVarAmount
 The chamfer amount for crease == 0.0. More...
 
float m_maxVarAmount
 The chamfer amount for crease == 1.0. More...
 
int m_segments
 The number of segments in the chamfers. More...
 
float m_tension
 The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear) More...
 
float m_depth
 The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex) More...
 
float m_insetAmount
 The amount of the inset, if in use. More...
 
int m_insetSegments
 The number of inset segments. More...
 
float m_insetOffset
 The inset offset. More...
 
float m_miterEndBias
 Biasing for transition along unchamfered edge connecting to a chamfered edge. More...
 
DWORD m_optionFlags
 Chamfer options (See Quad Chamfer Result Options) More...
 
MN_QCHAM_TYPE m_resultType
 Chamfer result options (See MN_QCHAM_TYPE) More...
 
DWORD m_flag
 The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Constructor & Destructor Documentation

MNQuadChamferParameters ( float  amount,
int  segments,
float  tension,
MN_QCHAM_TYPE  resultType,
DWORD  flag 
)
inline

Constructor for operation as original version (Elwood/Max 2015)

Parameters
amountThe chamfer amount
segmentsThe number of segments in the chamfers
tensionThe tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
resultTypeChamfer result options (See MN_QCHAM_TYPE)
flagThe MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags)
64  :
66  m_amount(amount),
67  m_minVarAmount(0.0f),
68  m_maxVarAmount(0.0f),
69  m_segments(segments),
70  m_tension(tension),
71  m_depth(0.0f),
72  m_insetAmount(0.0f),
73  m_insetSegments(0),
74  m_insetOffset(0.0f),
75  m_miterEndBias(0.5f),
77  m_resultType(resultType),
78  m_flag(flag) {}
MN_QCHAM_TYPE m_resultType
Chamfer result options (See MN_QCHAM_TYPE)
Definition: MNQuadChamferParameters.h:53
int m_insetSegments
The number of inset segments.
Definition: MNQuadChamferParameters.h:45
float m_insetOffset
The inset offset.
Definition: MNQuadChamferParameters.h:47
float m_maxVarAmount
The chamfer amount for crease == 1.0.
Definition: MNQuadChamferParameters.h:35
float m_depth
The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex)
Definition: MNQuadChamferParameters.h:41
float m_insetAmount
The amount of the inset, if in use.
Definition: MNQuadChamferParameters.h:43
unsigned int m_version
The Quad Chamfer version to use (See Quad Chamfer Version Values)
Definition: MNQuadChamferParameters.h:29
#define QCHAM_VERSION_ELWOOD
Elwood (Max 2015)
Definition: mnmesh.h:146
DWORD m_flag
The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags) ...
Definition: MNQuadChamferParameters.h:55
float m_miterEndBias
Biasing for transition along unchamfered edge connecting to a chamfered edge.
Definition: MNQuadChamferParameters.h:49
DWORD m_optionFlags
Chamfer options (See Quad Chamfer Result Options)
Definition: MNQuadChamferParameters.h:51
#define QCHAM_OPTION_ELWOOD_DEFAULTS
Elwood (Max 2015) defaults.
Definition: mnmesh.h:134
float m_tension
The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
Definition: MNQuadChamferParameters.h:39
float m_amount
The chamfer amount for non-weighted chamfers.
Definition: MNQuadChamferParameters.h:31
float m_minVarAmount
The chamfer amount for crease == 0.0.
Definition: MNQuadChamferParameters.h:33
int m_segments
The number of segments in the chamfers.
Definition: MNQuadChamferParameters.h:37
MNQuadChamferParameters ( float  amount,
int  segments,
float  tension,
DWORD  optionFlags,
MN_QCHAM_TYPE  resultType,
DWORD  flag,
int  version 
)
inline

Constructor for operation as Phoenix (Max 2016) version.

(If QCHAM_OPTION_VARIABLE_EDGE_WEIGHTS option is used, the chamfers will vary from 0.0 at Crease == 0.0 to "amount" at Crease == 1.0.)

Parameters
amountThe chamfer amount
segmentsThe number of segments in the chamfers
tensionThe tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
optionFlagsChamfer options (See Quad Chamfer Result Options)
resultTypeChamfer result options (See MN_QCHAM_TYPE)
flagThe MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags)
versionThe Quad Chamfer version to use (See Quad Chamfer Version Values)
87  :
88  m_version(version),
89  m_amount(amount),
90  m_minVarAmount(0.0f),
91  m_maxVarAmount(amount),
92  m_segments(segments),
93  m_tension(tension),
94  m_depth(0.0f),
95  m_insetAmount(0.0f),
96  m_insetSegments(0),
97  m_insetOffset(0.0f),
98  m_miterEndBias(0.5f),
99  m_optionFlags(optionFlags),
100  m_resultType(resultType),
101  m_flag(flag) {}
MN_QCHAM_TYPE m_resultType
Chamfer result options (See MN_QCHAM_TYPE)
Definition: MNQuadChamferParameters.h:53
int m_insetSegments
The number of inset segments.
Definition: MNQuadChamferParameters.h:45
float m_insetOffset
The inset offset.
Definition: MNQuadChamferParameters.h:47
float m_maxVarAmount
The chamfer amount for crease == 1.0.
Definition: MNQuadChamferParameters.h:35
float m_depth
The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex)
Definition: MNQuadChamferParameters.h:41
float m_insetAmount
The amount of the inset, if in use.
Definition: MNQuadChamferParameters.h:43
unsigned int m_version
The Quad Chamfer version to use (See Quad Chamfer Version Values)
Definition: MNQuadChamferParameters.h:29
DWORD m_flag
The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags) ...
Definition: MNQuadChamferParameters.h:55
float m_miterEndBias
Biasing for transition along unchamfered edge connecting to a chamfered edge.
Definition: MNQuadChamferParameters.h:49
DWORD m_optionFlags
Chamfer options (See Quad Chamfer Result Options)
Definition: MNQuadChamferParameters.h:51
float m_tension
The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
Definition: MNQuadChamferParameters.h:39
float m_amount
The chamfer amount for non-weighted chamfers.
Definition: MNQuadChamferParameters.h:31
float m_minVarAmount
The chamfer amount for crease == 0.0.
Definition: MNQuadChamferParameters.h:33
int m_segments
The number of segments in the chamfers.
Definition: MNQuadChamferParameters.h:37
MNQuadChamferParameters ( float  amount,
float  minAmount,
float  maxAmount,
int  segments,
float  tension,
float  depth,
float  insetAmount,
int  insetSegments,
float  insetOffset,
float  miterEndBias,
DWORD  optionFlags,
MN_QCHAM_TYPE  resultType,
DWORD  flag,
int  version 
)
inline

Constructor for operation as Athena (Max 2020) version or later.

Parameters
amountThe chamfer amount
minAmountWhen QCHAM_OPTION_VARIABLE_EDGE_WEIGHTS option is used, the chamfer amount at Crease == 0.0
maxAmountWhen QCHAM_OPTION_VARIABLE_EDGE_WEIGHTS option is used, the chamfer amount at Crease == 1.0
segmentsThe number of segments in the chamfers
tensionThe tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
depthThe depth of the chamfer (-1.0 = concave, 0.0 = linear, 1.0 = convex)
insetAmountThe inset amount
insetSegmentsThe number of segments for the inset
insetOffsetThe inset offset amount
miterEndBiasThe miter end bias amount
optionFlagsChamfer options (See Quad Chamfer Result Options)
resultTypeChamfer result options (See MN_QCHAM_TYPE)
flagThe MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags)
versionThe Quad Chamfer version to use (See Quad Chamfer Version Values)
118  :
119  m_version(version),
120  m_amount(amount),
121  m_minVarAmount(minAmount),
122  m_maxVarAmount(maxAmount),
123  m_segments(segments),
124  m_tension(tension),
125  m_depth(depth),
126  m_insetAmount(insetAmount),
127  m_insetSegments(insetSegments),
128  m_insetOffset(insetOffset),
129  m_miterEndBias(miterEndBias),
130  m_optionFlags(optionFlags),
131  m_resultType(resultType),
132  m_flag(flag) {}
MN_QCHAM_TYPE m_resultType
Chamfer result options (See MN_QCHAM_TYPE)
Definition: MNQuadChamferParameters.h:53
int m_insetSegments
The number of inset segments.
Definition: MNQuadChamferParameters.h:45
float m_insetOffset
The inset offset.
Definition: MNQuadChamferParameters.h:47
float m_maxVarAmount
The chamfer amount for crease == 1.0.
Definition: MNQuadChamferParameters.h:35
float m_depth
The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex)
Definition: MNQuadChamferParameters.h:41
float m_insetAmount
The amount of the inset, if in use.
Definition: MNQuadChamferParameters.h:43
unsigned int m_version
The Quad Chamfer version to use (See Quad Chamfer Version Values)
Definition: MNQuadChamferParameters.h:29
DWORD m_flag
The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags) ...
Definition: MNQuadChamferParameters.h:55
float m_miterEndBias
Biasing for transition along unchamfered edge connecting to a chamfered edge.
Definition: MNQuadChamferParameters.h:49
DWORD m_optionFlags
Chamfer options (See Quad Chamfer Result Options)
Definition: MNQuadChamferParameters.h:51
float m_tension
The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
Definition: MNQuadChamferParameters.h:39
float m_amount
The chamfer amount for non-weighted chamfers.
Definition: MNQuadChamferParameters.h:31
float m_minVarAmount
The chamfer amount for crease == 0.0.
Definition: MNQuadChamferParameters.h:33
int m_segments
The number of segments in the chamfers.
Definition: MNQuadChamferParameters.h:37

Member Function Documentation

unsigned int GetVersion ( ) const
inline
133 { return m_version; }
unsigned int m_version
The Quad Chamfer version to use (See Quad Chamfer Version Values)
Definition: MNQuadChamferParameters.h:29
float GetAmount ( ) const
inline
134 { return m_amount; }
float m_amount
The chamfer amount for non-weighted chamfers.
Definition: MNQuadChamferParameters.h:31
float GetMinVarAmount ( ) const
inline
135 { return m_minVarAmount; }
float m_minVarAmount
The chamfer amount for crease == 0.0.
Definition: MNQuadChamferParameters.h:33
float GetMaxVarAmount ( ) const
inline
136 { return m_maxVarAmount; }
float m_maxVarAmount
The chamfer amount for crease == 1.0.
Definition: MNQuadChamferParameters.h:35
int GetSegments ( ) const
inline
137 { return m_segments; }
int m_segments
The number of segments in the chamfers.
Definition: MNQuadChamferParameters.h:37
float GetTension ( ) const
inline
138 { return m_tension; }
float m_tension
The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)
Definition: MNQuadChamferParameters.h:39
float GetDepth ( ) const
inline
139 { return m_depth; }
float m_depth
The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex)
Definition: MNQuadChamferParameters.h:41
float GetInsetAmount ( ) const
inline
140 { return m_insetAmount; }
float m_insetAmount
The amount of the inset, if in use.
Definition: MNQuadChamferParameters.h:43
int GetInsetSegments ( ) const
inline
141 { return m_insetSegments; }
int m_insetSegments
The number of inset segments.
Definition: MNQuadChamferParameters.h:45
float GetInsetOffset ( ) const
inline
142 { return m_insetOffset; }
float m_insetOffset
The inset offset.
Definition: MNQuadChamferParameters.h:47
float GetMiterEndBias ( ) const
inline
143 { return m_miterEndBias; }
float m_miterEndBias
Biasing for transition along unchamfered edge connecting to a chamfered edge.
Definition: MNQuadChamferParameters.h:49
DWORD GetOptionFlags ( ) const
inline
144 { return m_optionFlags; }
DWORD m_optionFlags
Chamfer options (See Quad Chamfer Result Options)
Definition: MNQuadChamferParameters.h:51
MN_QCHAM_TYPE GetResultType ( ) const
inline
145 { return m_resultType; }
MN_QCHAM_TYPE m_resultType
Chamfer result options (See MN_QCHAM_TYPE)
Definition: MNQuadChamferParameters.h:53
DWORD GetFlag ( ) const
inline
146 { return m_flag; }
DWORD m_flag
The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags) ...
Definition: MNQuadChamferParameters.h:55

Member Data Documentation

unsigned int m_version
protected

The Quad Chamfer version to use (See Quad Chamfer Version Values)

float m_amount
protected

The chamfer amount for non-weighted chamfers.

float m_minVarAmount
protected

The chamfer amount for crease == 0.0.

float m_maxVarAmount
protected

The chamfer amount for crease == 1.0.

int m_segments
protected

The number of segments in the chamfers.

float m_tension
protected

The tension of the chamfer (0 = no tension, 0.5 = rounded, 1.0 = linear)

float m_depth
protected

The depth of the chamfer (-1 = concave, 0.0 = linear, 1.0 = convex)

float m_insetAmount
protected

The amount of the inset, if in use.

int m_insetSegments
protected

The number of inset segments.

float m_insetOffset
protected

The inset offset.

float m_miterEndBias
protected

Biasing for transition along unchamfered edge connecting to a chamfered edge.

DWORD m_optionFlags
protected

Chamfer options (See Quad Chamfer Result Options)

MN_QCHAM_TYPE m_resultType
protected

Chamfer result options (See MN_QCHAM_TYPE)

DWORD m_flag
protected

The MN_XXX flag that indicates edges to chamfer (See GeneralMNMeshComponentFlags)