3ds Max C++ API Reference
Scene and Node Hit Testing Flags

The following describes hit testing flags that can be sent to the node and scene hit testing methods. More...

Macros

#define HIT_SELONLY   (1<<0)
 Hit test selected items only. More...
 
#define HIT_UNSELONLY   (1<<2)
 Hit test unselected items only. More...
 
#define HIT_ABORTONHIT   (1<<3)
 Abort the process of hit testing after finding any hit. More...
 
#define HIT_SELSOLID   (1<<4)
 This treats selected items as solid and unselected items as not solid. More...
 
#define HIT_ANYSOLID   (1<<5)
 This treats any item as solid. More...
 
#define HIT_TRANSFORMGIZMO   (1<<6)
 This forces hit testing for the transform gizmos. More...
 
#define HIT_SWITCH_GIZMO   (1<<7)
 This forces hit testing for the Switch axis when hit. More...
 
#define HIT_MANIP_SUBHIT   (1<<8)
 This forces hit testing for sub-manipulators. More...
 
#define HIT_MIRROREDTM   (1<<9)
 This flags tells the hittesting that the mesh has been a mirroredtm/negative scale and the winding order needs to be flipped to compute the facing direction. More...
 
#define HITFLTR_ALL   (1<<10)
 For hit testing everything which can be combined into the flags parameter. More...
 
#define HITFLTR_OBJECTS   (1<<11)
 For hit testing just objects which can be combined into the flags parameter. More...
 
#define HITFLTR_CAMERAS   (1<<12)
 For hit testing just cameras which can be combined into the flags parameter. More...
 
#define HITFLTR_LIGHTS   (1<<13)
 For hit testing just lights which can be combined into the flags parameter. More...
 
#define HITFLTR_HELPERS   (1<<14)
 For hit testing just helpers which can be combined into the flags parameter. More...
 
#define HITFLTR_WSMOBJECTS   (1<<15)
 For hit testing just world space objects which can be combined into the flags parameter. More...
 
#define HITFLTR_SPLINES   (1<<16)
 For hit testing just splines which can be combined into the flags parameter. More...
 
#define HITFLTR_BONES   (1<<17)
 For hit testing just bones which can be combined into the flags parameter. More...
 
#define HIT_SCENEXREFS   (1<<18)
 For hit testing scene xrefs. More...
 
#define HIT_MANAGER_HIDDEN_SCENEXREFS   (1<<19)
 For hit testing scene xrefs hidden in the manager (identified by the XREF_SCENE_HIDEINMANAGERUI XRef flag e.g. More...
 
#define HIT_TRAJECTORY   (1<<20)
 For hit testing motion paths. More...
 
#define HITFLAG_STARTUSERBIT   24
 Starting at this bit through the 31st bit can be used by plug-ins for sub-object hit testing. More...
 

Detailed Description

The following describes hit testing flags that can be sent to the node and scene hit testing methods.

Macro Definition Documentation

◆ HIT_SELONLY

#define HIT_SELONLY   (1<<0)

Hit test selected items only.

◆ HIT_UNSELONLY

#define HIT_UNSELONLY   (1<<2)

Hit test unselected items only.

◆ HIT_ABORTONHIT

#define HIT_ABORTONHIT   (1<<3)

Abort the process of hit testing after finding any hit.

◆ HIT_SELSOLID

#define HIT_SELSOLID   (1<<4)

This treats selected items as solid and unselected items as not solid.

Treating an item as solid means the face will be hit if the mouse is anywhere inside the face region and not just over a visible edge.

◆ HIT_ANYSOLID

#define HIT_ANYSOLID   (1<<5)

This treats any item as solid.

Treating an item as solid means the face will be hit if the mouse is anywhere inside the face region and not just over a visible edge.

◆ HIT_TRANSFORMGIZMO

#define HIT_TRANSFORMGIZMO   (1<<6)

This forces hit testing for the transform gizmos.

◆ HIT_SWITCH_GIZMO

#define HIT_SWITCH_GIZMO   (1<<7)

This forces hit testing for the Switch axis when hit.

The selection processor that does the hit-testing will include this flag when hit-testing on a MOUSE_POINT message, because when this flag is active and the transform gizmo's hit-testing hits the manipulator, it should switch the axis mode to the axis that is hit. Normally the transform gizmo hit-testing will only highlight the axis if it hits it - but when this flag is active it should also set the axis mode using PushAxisMode() or SetAxisMode()

◆ HIT_MANIP_SUBHIT

#define HIT_MANIP_SUBHIT   (1<<8)

This forces hit testing for sub-manipulators.

◆ HIT_MIRROREDTM

#define HIT_MIRROREDTM   (1<<9)

This flags tells the hittesting that the mesh has been a mirroredtm/negative scale and the winding order needs to be flipped to compute the facing direction.

◆ HITFLTR_ALL

#define HITFLTR_ALL   (1<<10)

For hit testing everything which can be combined into the flags parameter.

◆ HITFLTR_OBJECTS

#define HITFLTR_OBJECTS   (1<<11)

For hit testing just objects which can be combined into the flags parameter.

◆ HITFLTR_CAMERAS

#define HITFLTR_CAMERAS   (1<<12)

For hit testing just cameras which can be combined into the flags parameter.

◆ HITFLTR_LIGHTS

#define HITFLTR_LIGHTS   (1<<13)

For hit testing just lights which can be combined into the flags parameter.

◆ HITFLTR_HELPERS

#define HITFLTR_HELPERS   (1<<14)

For hit testing just helpers which can be combined into the flags parameter.

◆ HITFLTR_WSMOBJECTS

#define HITFLTR_WSMOBJECTS   (1<<15)

For hit testing just world space objects which can be combined into the flags parameter.

◆ HITFLTR_SPLINES

#define HITFLTR_SPLINES   (1<<16)

For hit testing just splines which can be combined into the flags parameter.

◆ HITFLTR_BONES

#define HITFLTR_BONES   (1<<17)

For hit testing just bones which can be combined into the flags parameter.

◆ HIT_SCENEXREFS

#define HIT_SCENEXREFS   (1<<18)

For hit testing scene xrefs.

You must not make references to scene xrefs.

◆ HIT_MANAGER_HIDDEN_SCENEXREFS

#define HIT_MANAGER_HIDDEN_SCENEXREFS   (1<<19)

For hit testing scene xrefs hidden in the manager (identified by the XREF_SCENE_HIDEINMANAGERUI XRef flag e.g.

closed containers). You must not make references to scene xrefs.

◆ HIT_TRAJECTORY

#define HIT_TRAJECTORY   (1<<20)

For hit testing motion paths.

◆ HITFLAG_STARTUSERBIT

#define HITFLAG_STARTUSERBIT   24

Starting at this bit through the 31st bit can be used by plug-ins for sub-object hit testing.