3ds Max C++ API Reference
HitListWrapper Class Reference

#include <ObjectWrapper.h>

+ Inheritance diagram for HitListWrapper:

Public Types

enum  { empty =0 , triObject , polyObject , patchObject }
 The type of the underlying object against which the hit testing occurred; triObject for Mesh, polyObject for MNMesh, and patchObject for PatchMesh. More...
 

Public Member Functions

CoreExport HitListWrapper ()
 
CoreExport ~HitListWrapper ()
 
CoreExport bool GoToFirst ()
 
CoreExport bool GoToNext ()
 
CoreExport DWORD GetDist ()
 
CoreExport int GetIndex ()
 
CoreExport void Init (int type)
 
CoreExport void Release ()
 

Public Attributes

enum HitListWrapper:: { ... }  type
 The type of the underlying object against which the hit testing occurred; triObject for Mesh, polyObject for MNMesh, and patchObject for PatchMesh. More...
 
SubObjHitListmeshHitList
 
SubObjHitListpolyHitList
 
SubPatchHitListpatchHitList
 
MeshSubHitRec::Iterator curMeshHitRec
 
MeshSubHitRec::Iterator curPolyHitRec
 
PatchSubHitReccurPatchHitRec
 

Protected Attributes

union {
   SubObjHitList *   meshHitList
 
   SubObjHitList *   polyHitList
 
   SubPatchHitList *   patchHitList
 
}; 
 
union {
   MeshSubHitRec::Iterator   curMeshHitRec
 
   MeshSubHitRec::Iterator   curPolyHitRec
 
   PatchSubHitRec *   curPatchHitRec
 
}; 
 

Friends

class ObjectWrapper
 

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...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

The type of the underlying object against which the hit testing occurred; triObject for Mesh, polyObject for MNMesh, and patchObject for PatchMesh.

The empty type indicates that no hit testing has been performed yet

Enumerator
empty 
triObject 
polyObject 
patchObject 
enum HitListWrapper::@192 type
The type of the underlying object against which the hit testing occurred; triObject for Mesh,...
@ triObject
Definition: ObjectWrapper.h:495
@ empty
Definition: ObjectWrapper.h:495
@ patchObject
Definition: ObjectWrapper.h:495
@ polyObject
Definition: ObjectWrapper.h:495

Constructor & Destructor Documentation

◆ HitListWrapper()

Remarks
Constructor. This does not call the Init() method, so wrapper must still be initialized before it can be used.
498 {type=empty;}

◆ ~HitListWrapper()

Remarks
Destructor. Deallocates used memory by calling Release()

Member Function Documentation

◆ GoToFirst()

CoreExport bool GoToFirst ( )
Remarks
Sets the first hit entry in the list as the current hit
Returns
FALSE if no hit entries are in the list, otherwise TRUE

◆ GoToNext()

CoreExport bool GoToNext ( )
Remarks
Sets the current hit to the next entry in the list
Returns
FALSE if the operation fails because no entries remain the list, otherwise TRUE

◆ GetDist()

CoreExport DWORD GetDist ( )
Remarks
The distance of the current hit. If the user is in wireframe mode, this is the distance in pixels to the item that was hit. If the user is in shaded mode, this is the Z depth distance. Smaller numbers indicate a closer hit.
Returns
The distance of the current hit.

◆ GetIndex()

CoreExport int GetIndex ( )
Remarks
The index of the sub-object component of the current hit. For example, if faces were being hit tested, this would be the index of the face which was hit.
Returns
The index of the sub-object component of the current hit.

◆ Init()

CoreExport void Init ( int  type)
Remarks
Initializes the wrapper to the specified object type, allocating the type-specific hit list used by the wrapper. This must be called before the wrapper can store any hit test results.
Parameters
type- one of the type enum values

◆ Release()

CoreExport void Release ( )
Remarks
Releases the type-specific hit list used by the wrapper. This is normally called by the destructor.

Friends And Related Function Documentation

◆ ObjectWrapper

friend class ObjectWrapper
friend

Member Data Documentation

◆ meshHitList

SubObjHitList* meshHitList

◆ polyHitList

SubObjHitList* polyHitList

◆ patchHitList

SubPatchHitList* patchHitList

◆ 

union { ... }

◆ curMeshHitRec

MeshSubHitRec::Iterator curMeshHitRec

◆ curPolyHitRec

MeshSubHitRec::Iterator curPolyHitRec

◆ curPatchHitRec

PatchSubHitRec* curPatchHitRec

◆ 

union { ... }

◆ 

enum { ... } type

The type of the underlying object against which the hit testing occurred; triObject for Mesh, polyObject for MNMesh, and patchObject for PatchMesh.

The empty type indicates that no hit testing has been performed yet