3ds Max C++ API Reference
Class_ID Class Reference

#include <maxtypes.h>

+ Inheritance diagram for Class_ID:

Public Member Functions

constexpr Class_ID ()=default
 
constexpr Class_ID (const Class_ID &cid)=default
 
constexpr Class_ID (ulong aa, ulong bb)
 
constexpr ulong PartA () const
 
constexpr ulong PartB () const
 
ulong PartA ()
 
ulong PartB ()
 
constexpr void SetPartA (ulong aa)
 
constexpr void SetPartB (ulong bb)
 
constexpr bool operator== (const Class_ID &cid) const
 
constexpr bool operator!= (const Class_ID &cid) const
 
constexpr Class_IDoperator= (const Class_ID &cid)
 
constexpr bool operator< (const Class_ID &rhs) const
 

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 Descriptors, class ID definititions in plugapi.h

Description:
This class represents the unique class ID for a 3ds Max plug-in. A plug-ins Class_ID must be unique. A program is provided with the SDK to generate these ClassIDs. It is VERY important you use this program to create the ClassIDs for your plug-ins. To generate a random Class_ID and optionally copy it to the clipboard, run the gencid.exe program. A Class_ID consists of two unsigned 32-bit quantities. The constructor assigns a value to each of these, for example Class_ID(0xCAD834E2, 0x27E47C5A).

All the methods of this class are implemented by the system.

Constructor & Destructor Documentation

◆ Class_ID() [1/3]

constexpr Class_ID ( )
constexprdefault
Remarks
Constructor.

Assigns a value of 0xFFFFFFFF to each 32-bit quantity.

◆ Class_ID() [2/3]

constexpr Class_ID ( const Class_ID cid)
constexprdefault
Remarks
Constructor.

Creates a new class ID with the same values as the argument.
Parameters:
const Class_ID& cid

A reference to the Class ID to copy.

◆ Class_ID() [3/3]

constexpr Class_ID ( ulong  aa,
ulong  bb 
)
inlineconstexpr
Remarks
Constructor.

This is the standard constructor to be used by 3ds Max plug-ins. Each of the 32-bit quantities may be assigned separately.
Parameters:
ulong aa

Assigned to the first 32-bit quantity.

ulong bb

Assigned to the second 32-bit quantity.
176 : a(aa), b(bb) {}

Member Function Documentation

◆ PartA() [1/2]

constexpr ulong PartA ( ) const
inlineconstexpr
Remarks
Returns the first unsigned 32-bit quantity.
178 { return a; }

◆ PartB() [1/2]

constexpr ulong PartB ( ) const
inlineconstexpr
Remarks
Returns the second unsigned 32-bit quantity.
180 { return b; }

◆ PartA() [2/2]

ulong PartA ( )
inline
182 { return a; }

◆ PartB() [2/2]

ulong PartB ( )
inline
183 { return b; }

◆ SetPartA()

constexpr void SetPartA ( ulong  aa)
inlineconstexpr
184 { a = aa; }

◆ SetPartB()

constexpr void SetPartB ( ulong  bb)
inlineconstexpr
185 { b = bb; }

◆ operator==()

constexpr bool operator== ( const Class_ID cid) const
inlineconstexpr
Remarks
Checks for equality between two Class IDs.
188 { return (a == cid.a) && (b == cid.b); }

◆ operator!=()

constexpr bool operator!= ( const Class_ID cid) const
inlineconstexpr
Remarks
Check for Inequality between two Class IDs.
190 { return !operator==(cid); }
constexpr bool operator==(const Class_ID &cid) const
Definition: maxtypes.h:188

◆ operator=()

constexpr Class_ID& operator= ( const Class_ID cid)
inlineconstexpr
Remarks
Assignment operator. Note: In release 3.0 and later this method checks for self-assignment.
193 { a = cid.a; b = cid.b; return *this; };

◆ operator<()

constexpr bool operator< ( const Class_ID rhs) const
inlineconstexpr
Remarks
This operator is available in release 4.0 and later only.

Less than operator. This returns true if the specified Class_ID's two parts are numerically less than this Class_ID's; false if not.
199 { return (a < rhs.a || (a == rhs.a && b < rhs.b)); }