3ds Max C++ API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MeshChannelContainer Class Reference

Container for managing the MaxSDK::MeshChannelData objects. More...

#include <MeshChannelContainer.h>

+ Inheritance diagram for MeshChannelContainer:

Public Member Functions

DllExport MeshChannelContainer (Mesh *parent)
 
DllExport ~MeshChannelContainer ()=default
 
 MeshChannelContainer (MeshChannelContainer &)=delete
 
 MeshChannelContainer (MeshChannelContainer &&)=delete
 
MeshChannelContaineroperator= (const MeshChannelContainer &)=delete
 
MeshChannelContaineroperator= (MeshChannelContainer &&)=delete
 
DllExport void ShallowCopyChannelData (MeshChannelContainer const *fromOb, ChannelMask channels)
 Take and share channel objects with another MNMesh and store them in this container.
 
DllExport void NewAndCopyChannelData (ChannelMask channels)
 Makes a complete copy of some channel objects and keeps the copy.
 
DllExport void FreeChannelData (ChannelMask channels)
 Drops the specified channel objects, calls ClearParentInterface() on those objects beforehand.
 
DllExport void AcquireChannelLocks (ChannelMask channels) const
 Based on a channel mask, request the locks for those channels.
 
DllExport void ReleaseChannelLocks (ChannelMask channels) const
 Based on a channel mask, release the locks for those channels.
 
DllExport MeshTopoChannelDataGetOrCreateMeshTopoChannelData ()
 Return the MeshTopoChannelData channel object, create it if not allocated.
 
MeshTopoChannelDataGetMeshTopoChannelData () const
 Return the MeshTopoChannelData channel object, null if not allocated.
 
DllExport MeshGeomChannelDataGetOrCreateMeshGeomChannelData ()
 Return the MeshGeomChannelData channel object, create it if not allocated.
 
MeshGeomChannelDataGetMeshGeomChannelData () const
 Return the MeshGeomChannelData channel object, null if not allocated.
 
DllExport MeshEdgeVisibilityChannelDataGetOrCreateMeshEdgeVisibilityChannelData ()
 Return the MeshEdgeVisibilityChannelData channel object, create it if not allocated.
 
MeshEdgeVisibilityChannelDataGetMeshEdgeVisibilityChannelData () const
 Return the MeshEdgeVisibilityChannelData channel object, null if not allocated.
 
DllExport MeshVertexColorChannelDataGetOrCreateMeshVertexColorChannelData ()
 Return the MeshVertexColorChannelData channel object, create it if not allocated.
 
MeshVertexColorChannelDataGetMeshVertexColorChannelData () const
 Return the MeshVertexColorChannelData channel object, null if not allocated.
 
DllExport MeshTextureMapChannelDataGetOrCreateMeshTextureMapChannelData ()
 Return the MeshTextureMapChannelData channel object, create it if not allocated.
 
MeshTextureMapChannelDataGetMeshTextureMapChannelData () const
 Return the MeshTextureMapChannelData channel object, null if not allocated.
 
DllExport MeshMaterialChannelDataGetOrCreateMeshMaterialChannelData ()
 Return the MeshMaterialChannelData channel object, create it if not allocated.
 
MeshMaterialChannelDataGetMeshMaterialChannelData () const
 Return the MeshMaterialChannelData channel object, null if not allocated.
 

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 

Detailed Description

Container for managing the MaxSDK::MeshChannelData objects.

The data in these channels objects are what gets manipulated and copied in the modifier stack.

Constructor & Destructor Documentation

◆ MeshChannelContainer() [1/3]

DllExport MeshChannelContainer ( Mesh parent)
inline
39 :m_parent(parent)
40 { }

◆ ~MeshChannelContainer()

◆ MeshChannelContainer() [2/3]

◆ MeshChannelContainer() [3/3]

Member Function Documentation

◆ operator=() [1/2]

MeshChannelContainer & operator= ( const MeshChannelContainer )
delete

◆ operator=() [2/2]

MeshChannelContainer & operator= ( MeshChannelContainer &&  )
delete

◆ ShallowCopyChannelData()

DllExport void ShallowCopyChannelData ( MeshChannelContainer const *  fromOb,
ChannelMask  channels 
)

Take and share channel objects with another MNMesh and store them in this container.

Parameters
fromOb- Specifies the source Mesh to copy channel objects from.
channels- Specifies the channels to reference from fromOb. See Object Channels.
See also
MaxSDK::MeshChannelData

◆ NewAndCopyChannelData()

DllExport void NewAndCopyChannelData ( ChannelMask  channels)

Makes a complete copy of some channel objects and keeps the copy.

This can be used to break the sharing of channel objects with other meshes crated by ShallowCopyChannelData. Syncs the BlockWrite members with the owning Mesh using MeshChannelData::SyncParentInterface

Parameters
channels- Specifies which channels to make complete copies of. See Object Channels.
See also
MaxSDK::MeshChannelData

◆ FreeChannelData()

DllExport void FreeChannelData ( ChannelMask  channels)

Drops the specified channel objects, calls ClearParentInterface() on those objects beforehand.

Parameters
channels- Specifies channel objects to free. See Object Channels.
See also
MaxSDK::MeshChannelData

◆ AcquireChannelLocks()

DllExport void AcquireChannelLocks ( ChannelMask  channels) const

Based on a channel mask, request the locks for those channels.

This should be used avoid race conditions when modifying objects in parallel when some of them share channels.

See also
Mesh::ScopedLockChannels

◆ ReleaseChannelLocks()

DllExport void ReleaseChannelLocks ( ChannelMask  channels) const

Based on a channel mask, release the locks for those channels.

See also
Mesh::ScopedLockChannels

◆ GetOrCreateMeshTopoChannelData()

DllExport MeshTopoChannelData * GetOrCreateMeshTopoChannelData ( )

Return the MeshTopoChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshTopoChannelData

◆ GetMeshTopoChannelData()

MeshTopoChannelData * GetMeshTopoChannelData ( ) const
inline

Return the MeshTopoChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshTopoChannelData
85{ \

◆ GetOrCreateMeshGeomChannelData()

DllExport MeshGeomChannelData * GetOrCreateMeshGeomChannelData ( )

Return the MeshGeomChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshGeomChannelData

◆ GetMeshGeomChannelData()

MeshGeomChannelData * GetMeshGeomChannelData ( ) const
inline

Return the MeshGeomChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshGeomChannelData

◆ GetOrCreateMeshEdgeVisibilityChannelData()

DllExport MeshEdgeVisibilityChannelData * GetOrCreateMeshEdgeVisibilityChannelData ( )

Return the MeshEdgeVisibilityChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshEdgeVisibilityChannelData

◆ GetMeshEdgeVisibilityChannelData()

MeshEdgeVisibilityChannelData * GetMeshEdgeVisibilityChannelData ( ) const
inline

Return the MeshEdgeVisibilityChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshEdgeVisibilityChannelData

◆ GetOrCreateMeshVertexColorChannelData()

DllExport MeshVertexColorChannelData * GetOrCreateMeshVertexColorChannelData ( )

Return the MeshVertexColorChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshVertexColorChannelData

◆ GetMeshVertexColorChannelData()

MeshVertexColorChannelData * GetMeshVertexColorChannelData ( ) const
inline

Return the MeshVertexColorChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshVertexColorChannelData

◆ GetOrCreateMeshTextureMapChannelData()

DllExport MeshTextureMapChannelData * GetOrCreateMeshTextureMapChannelData ( )

Return the MeshTextureMapChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshTextureMapChannelData

◆ GetMeshTextureMapChannelData()

MeshTextureMapChannelData * GetMeshTextureMapChannelData ( ) const
inline

Return the MeshTextureMapChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshTextureMapChannelData

◆ GetOrCreateMeshMaterialChannelData()

DllExport MeshMaterialChannelData * GetOrCreateMeshMaterialChannelData ( )

Return the MeshMaterialChannelData channel object, create it if not allocated.

See also
MaxSDK:: MeshMaterialChannelData

◆ GetMeshMaterialChannelData()

MeshMaterialChannelData * GetMeshMaterialChannelData ( ) const
inline

Return the MeshMaterialChannelData channel object, null if not allocated.

See also
MaxSDK:: MeshMaterialChannelData