Class_ID Class Reference

Class_ID Class Reference
+ Related help topics:

#include <maxtypes.h>

Class 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.
+ Inheritance diagram for Class_ID:

Public Member Functions

 Class_ID ()
 
 Class_ID (const Class_ID &cid)
 
 Class_ID (ulong aa, ulong bb)
 
ULONG PartA () const
 
ULONG PartB () const
 
void SetPartA (ulong aa)
 
void SetPartB (ulong bb)
 
bool operator== (const Class_ID &cid) const
 
bool operator!= (const Class_ID &cid) const
 
Class_IDoperator= (const Class_ID &cid)
 
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...
 

Constructor & Destructor Documentation

Class_ID ( )
inline
Remarks
Constructor.

Assigns a value of 0xFFFFFFFF to each 32-bit quantity.
145 { a = b = 0xffffffff; }
Class_ID ( const Class_ID cid)
inline
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.
151 { a = cid.a; b = cid.b; }
Class_ID ( ulong  aa,
ulong  bb 
)
inline
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.
160 { a = aa; b = bb; }

Member Function Documentation

ULONG PartA ( ) const
inline
Remarks
Returns the first unsigned 32-bit quantity.
162 { return a; }
ULONG PartB ( ) const
inline
Remarks
Returns the second unsigned 32-bit quantity.
Operators:
166 { return b; }
void SetPartA ( ulong  aa)
inline
167 { a = aa; } //-- Added 11/21/96 GG
void SetPartB ( ulong  bb)
inline
168 { b = bb; }
bool operator== ( const Class_ID cid) const
inline
Remarks
Checks for equality between two Class IDs.
170 { return ((a == cid.a) && (b == cid.b)); }
bool operator!= ( const Class_ID cid) const
inline
Remarks
Check for Inequality between two Class IDs.
172 { return !operator==(cid); }
bool operator==(const Class_ID &cid) const
Definition: maxtypes.h:170
Class_ID& operator= ( const Class_ID cid)
inline
Remarks
Assignment operator. Note: In release 3.0 and later this method checks for self-assignment.
175 { a=cid.a; b = cid.b; return (*this); }
bool operator< ( const Class_ID rhs) const
inline
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.
182  {
183  if ( a < rhs.a || ( a == rhs.a && b < rhs.b ) )
184  return true;
185 
186  return false;
187  }