3ds Max C++ API Reference
ChangeFGObject Class Reference

#include <objmode.h>

+ Inheritance diagram for ChangeFGObject:

Public Member Functions

 ChangeFGObject ()
 
 ChangeFGObject (ReferenceTarget *o)
 
void SetObj (ReferenceTarget *o)
 
BOOL IsValid ()
 
void Invalidate ()
 
void Validate ()
 
void callback (TimeValue t, IScene *scene)
 
- Public Member Functions inherited from ChangeForegroundCallback
virtual ~ChangeForegroundCallback ()
 

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 CommandMode, Class IScene.

Description:
The purpose of this callback is to call INode::FlagForeground() for any nodes in the scene that are supposed to be in the foreground.

Constructor & Destructor Documentation

◆ ChangeFGObject() [1/2]

ChangeFGObject ( )
inline
99 { obj = NULL; valid = TRUE; }
#define NULL
Definition: autoptr.h:18

◆ ChangeFGObject() [2/2]

100 { obj = o; valid = TRUE; }

Member Function Documentation

◆ SetObj()

void SetObj ( ReferenceTarget o)
inline
101 { obj = o; }

◆ IsValid()

BOOL IsValid ( )
inlinevirtual
Remarks
Returns TRUE if this foreground callback is valid ; otherwise FALSE. When the system needs to redraw the viewports the system checks to see if the current foreground callback is the same one that was in place the last time. If it is the same the system will call this method to see if the state is valid. If the state is not valid (this method returns FALSE) then the foreground and background are re-built and then the Validate() method is called so this foreground callback may note that it is invalid.

Implements ChangeForegroundCallback.

111 { return valid; }

◆ Invalidate()

void Invalidate ( )
inlinevirtual
Remarks
The system calls this method of the plug-in when the foreground state is no longer valid. The plug-in should set a flag internally to indicate it is invalid. For example if the current node selection set changes the system calls this method to mark it as invalid so that the next time the system goes to redraw the viewports it can determine that it would need to rebuild the foreground and the background.

Implements ChangeForegroundCallback.

118 { valid = FALSE; }

◆ Validate()

void Validate ( )
inlinevirtual
Remarks
The system calls this method when the foreground state is valid. For example after the foreground and background buffers have been re-built this method is called. The plug-in should set a flag internally to indicate it is valid.

Implements ChangeForegroundCallback.

123 { valid = TRUE; }

◆ callback()

void callback ( TimeValue  t,
IScene scene 
)
inlinevirtual
Remarks
This method is used to enumerate the scene and flag nodes in the scene that need to go in the foreground.
Parameters:
TimeValue t

The time to flag the nodes.

IScene *scene

This interface pointer provides methods to enumerate all nodes in the scene, or to flag nodes that are selected, animated or dependent on a given node.

Implements ChangeForegroundCallback.

134  {
135  obj->FlagDependents(t);
136  }
void FlagDependents(TimeValue t, PartID which=PART_PUT_IN_FG)
This sends the REFMSG_FLAGDEPENDENTS message up the pipeline.
Definition: ref.h:2165