3ds Max C++ API Reference
IMeshSelectData Class Referenceabstract

#include <istdplug.h>

+ Inheritance diagram for IMeshSelectData:

Public Member Functions

virtual BitArray GetVertSel ()=0
 
virtual BitArray GetFaceSel ()=0
 
virtual BitArray GetEdgeSel ()=0
 
virtual void SetVertSel (BitArray &set, IMeshSelect *imod, TimeValue t)=0
 
virtual void SetFaceSel (BitArray &set, IMeshSelect *imod, TimeValue t)=0
 
virtual void SetEdgeSel (BitArray &set, IMeshSelect *imod, TimeValue t)=0
 
virtual GenericNamedSelSetListGetNamedVertSelList ()=0
 
virtual GenericNamedSelSetListGetNamedEdgeSelList ()=0
 
virtual GenericNamedSelSetListGetNamedFaceSelList ()=0
 
virtual void GetWeightedVertSel (int nv, float *sel)
 
virtual void SetWeightedVertSel (int nv, float *sel, IMeshSelect *imod, TimeValue t)
 

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

See also
Class ModContext, Class BitArray, Class IMeshSelect, Class Interface, Class GenericNamedSelSetList.

Description:
When a developer gets the LocalModData from the ModContext of the Mesh Select Modifier or Edit Mesh Modifier, they may cast it to this class and use these methods. They may be used to get/set the vert/face/edge selection state of the modifier. This class also provides access to the named sub-object selection sets.

To get a pointer to this interface given a pointer to a modifier use the following macro (defined in AnimatableInterfaceIDs.h ). Using this macro, given any Animatable, it is easy to ask for the interface.

#define GetMeshSelectDataInterface(anim) ((IMeshSelectData*)anim->GetInterface(I_MESHSELECTDATA))

A plug-in developer may use this macro as follows:

IMeshSelectData *imsd = GetMeshSelectDataInterface(anim);

This return value will either be NULL or a pointer to a valid Mesh Select Data interface.

Member Function Documentation

◆ GetVertSel()

virtual BitArray GetVertSel ( )
pure virtual
Remarks
Returns a BitArray that reflects the current vertex selection. There is one bit for each vertex. Bits that are 1 indicate the vertex is selected.

◆ GetFaceSel()

virtual BitArray GetFaceSel ( )
pure virtual
Remarks
Returns a BitArray that reflects the current face selection. There is one bit for each face. Bits that are 1 indicate the face is selected.

◆ GetEdgeSel()

virtual BitArray GetEdgeSel ( )
pure virtual
Remarks
Returns a BitArray that reflects the current edge selection. There is one bit for each edge. Bits that are 1 indicate the edge is selected.

◆ SetVertSel()

virtual void SetVertSel ( BitArray set,
IMeshSelect imod,
TimeValue  t 
)
pure virtual
Remarks
Sets the vertex selection of the modifier.
Parameters:
BitArray &set

There is one bit for each vertex. Bits that are 1 indicate the vertex is selected.

IMeshSelect *imod

This parameter is available in release 3.0 and later only.

Points to the IMeshSelect instance (generally this is a modifier).

TimeValue t

This parameter is available in release 3.0 and later only.

The current time at which the call is made.

◆ SetFaceSel()

virtual void SetFaceSel ( BitArray set,
IMeshSelect imod,
TimeValue  t 
)
pure virtual
Remarks
Sets the face selection of the modifier.
Parameters:
BitArray &set

There is one bit for each face. Bits that are 1 indicate the face is selected.

IMeshSelect *imod

This parameter is available in release 3.0 and later only.

Points to the IMeshSelect instance (generally this is a modifier).

TimeValue t

This parameter is available in release 3.0 and later only.

The current time at which the call is made.

◆ SetEdgeSel()

virtual void SetEdgeSel ( BitArray set,
IMeshSelect imod,
TimeValue  t 
)
pure virtual
Remarks
Sets the edge selection of the modifier.
Parameters:
BitArray &set

There is one bit for each edge. Bits that are 1 indicate the edge is selected.

IMeshSelect *imod

This parameter is available in release 3.0 and later only.

Points to the IMeshSelect instance (generally this is a modifier).

TimeValue t

This parameter is available in release 3.0 and later only.

The current time at which the call is made.

◆ GetNamedVertSelList()

virtual GenericNamedSelSetList& GetNamedVertSelList ( )
pure virtual
Remarks
Returns a reference to an instance of GenericNamedSelSetList used for storing vertex level named selection sets. This class provides access to and the ability to manipulate a list of named selection sets.

◆ GetNamedEdgeSelList()

virtual GenericNamedSelSetList& GetNamedEdgeSelList ( )
pure virtual
Remarks
Returns a reference to an instance of GenericNamedSelSetList used for storing edge level named selection sets. This class provides access to and the ability to manipulate a list of named selection sets.

◆ GetNamedFaceSelList()

virtual GenericNamedSelSetList& GetNamedFaceSelList ( )
pure virtual
Remarks
Returns a reference to an instance of GenericNamedSelSetList used for storing face level named selection sets. This class provides access to and the ability to manipulate a list of named selection sets.

◆ GetWeightedVertSel()

virtual void GetWeightedVertSel ( int  nv,
float *  sel 
)
inlinevirtual
Remarks
Retrieves the weighted vertex selections data (Soft Selection data).
Parameters:
int nv

The number of vertices.

float *sel

An array of floats to store the results.
Default Implementation:
{}
3812 {}

◆ SetWeightedVertSel()

virtual void SetWeightedVertSel ( int  nv,
float *  sel,
IMeshSelect imod,
TimeValue  t 
)
inlinevirtual
Remarks
Sets the weighted vertex selection data (Soft Selection data) to the values passed.
Parameters:
int nv

The number of vertices.

float *sel

An array of floats with the data.

IMeshSelect *imod

Points to the IMeshSelect object.

TimeValue t

The time at which to set the data.
Default Implementation:
{}
3826 {}