3ds Max C++ API Reference
MNQuadChamferExtendedParameters Class Reference

This is a simple derived class of MNQuadChamferParameters used to encapsulate the new parameters added to the Universal Quad Chamfer interface in IMNMeshUtilities17. More...

#include <MNQuadChamferParameters.h>

+ Inheritance diagram for MNQuadChamferExtendedParameters:

Public Member Functions

 MNQuadChamferExtendedParameters (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, float radiusBias, float absWeightScale)
 Constructor with each parameter explicitly specified. More...
 
 MNQuadChamferExtendedParameters (const MNQuadChamferParameters &baseParams, float radiusBias, float absWeightScale)
 Constructor with base class parameters specified via an MNQuadChamferParameters object. More...
 
 MNQuadChamferExtendedParameters (const MNQuadChamferParameters &baseParams)
 Constructor for 3ds Max 2020 and previous versions. More...
 
float GetRadiusBias () const
 Returns the radius bias factor. More...
 
float GetAbsWeightScale () const
 
- Public Member Functions inherited from MNQuadChamferParameters
 MNQuadChamferParameters (float amount, int segments, float tension, MN_QCHAM_TYPE resultType, DWORD flag)
 Constructor for operation as original version (3ds 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 3ds Max 2020 or later. More...
 
 MNQuadChamferParameters (const MNQuadChamferParameters &from)
 Copy constructor. 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

float m_radiusBias
 Biasing factor controlling the radius of chamfered corners. More...
 
float m_absWeightScale
 Scaling factor to be applied to weights when chamfer amount is specified via absolute weighting approach. More...
 
- Protected Attributes inherited from MNQuadChamferParameters
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...
 

Detailed Description

This is a simple derived class of MNQuadChamferParameters used to encapsulate the new parameters added to the Universal Quad Chamfer interface in IMNMeshUtilities17.

These parameters represent additional functionality of the underlying quad chamfer operations introduced in 3ds Max 2020 Update 1, and should eventually be moved into the main MNQuadChamferParameters class above when SDK considerations allow.

Constructor & Destructor Documentation

◆ MNQuadChamferExtendedParameters() [1/3]

MNQuadChamferExtendedParameters ( 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,
float  radiusBias,
float  absWeightScale 
)
inline

Constructor with each parameter explicitly specified.

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)
radiusBiasbiasing factor controlling the radius of chamfered corners
absWeightScalescaling factor to be applied to weights when chamfer amount is specified via absolute weighting approach
207  :
208  MNQuadChamferParameters(amount, minAmount, maxAmount, segments, tension, depth, insetAmount, insetSegments, insetOffset, miterEndBias, optionFlags, resultType, flag, version),
209  m_radiusBias(radiusBias),
210  m_absWeightScale(absWeightScale)
211  {
212  }
float m_absWeightScale
Scaling factor to be applied to weights when chamfer amount is specified via absolute weighting appro...
Definition: MNQuadChamferParameters.h:248
float m_radiusBias
Biasing factor controlling the radius of chamfered corners.
Definition: MNQuadChamferParameters.h:245
MNQuadChamferParameters(float amount, int segments, float tension, MN_QCHAM_TYPE resultType, DWORD flag)
Constructor for operation as original version (3ds Max 2015)
Definition: MNQuadChamferParameters.h:69

◆ MNQuadChamferExtendedParameters() [2/3]

MNQuadChamferExtendedParameters ( const MNQuadChamferParameters baseParams,
float  radiusBias,
float  absWeightScale 
)
inline

Constructor with base class parameters specified via an MNQuadChamferParameters object.

Parameters
baseParamsMNQuadChamferParameters object specifying all base-class parameters
radiusBiasbiasing factor controlling the radius of chamfered corners
absWeightScalescaling factor to be applied to weights when chamfer amount is specified via absolute weighting approach
219  :
220  MNQuadChamferParameters(baseParams),
221  m_radiusBias(radiusBias),
222  m_absWeightScale(absWeightScale)
223  {
224  }

◆ MNQuadChamferExtendedParameters() [3/3]

Constructor for 3ds Max 2020 and previous versions.

Parameters
baseParamsMNQuadChamferParameters object specifying all base-class parameters
229  :
230  MNQuadChamferParameters(baseParams),
231  m_radiusBias(0.0f),
232  m_absWeightScale(1.0f)
233  {
234  }

Member Function Documentation

◆ GetRadiusBias()

float GetRadiusBias ( ) const
inline

Returns the radius bias factor.

237 { return m_radiusBias; }

◆ GetAbsWeightScale()

float GetAbsWeightScale ( ) const
inline
240 { return m_absWeightScale; }

Member Data Documentation

◆ m_radiusBias

float m_radiusBias
protected

Biasing factor controlling the radius of chamfered corners.

◆ m_absWeightScale

float m_absWeightScale
protected

Scaling factor to be applied to weights when chamfer amount is specified via absolute weighting approach.