Classes | |
class | AccessedObjectsCallback |
Namespaces | |
cinema | |
Enumerations | |
enum class | ACCESSED_OBJECTS_MASK { NONE , MATRIX , DATA , BITS , NBITS , FALLOFF , MEMBER , DEFORM_MODE , CACHE_FLAG , CACHE , VARIABLE_TAG , NON_VARIABLE_TAG , ANY_TAG , DESCRIPTION , ALL , RELATIVE_MATRIX_FLAG , GLOBAL_MATRIX_FLAG , CHILD_CACHE , CAMERA , TIME , EXTERNAL , PRIVATE_ANYTHING , EXTERNAL_MASK , GLOBAL_MATRIX , RELATIVE_MATRIX , INHERITED_MATRIX_MASK } |
enum class | METHOD_ID : Int32 { MIN_EXECUTION_ID , NONE , GET_VIRTUAL_OBJECTS , MODIFY_OBJECT , GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT , GV_CALCULATE , SAMPLE , CHECK_DIRTY , EFFECTOR } |
enum class | GET_ACCESSED_OBJECTS_FLAGS { NONE , CLONE_WITH_MODIFIED_PARAMETERS } |
Functions | |
enum cinema::ACCESSED_OBJECTS_MASK | MAXON_ENUM_FLAGS (ACCESSED_OBJECTS_MASK) |
enum cinema::METHOD_ID Int32 | MAXON_ENUM_ORDERED_LIST (METHOD_ID) |
enum cinema::GET_ACCESSED_OBJECTS_FLAGS | MAXON_ENUM_FLAGS (GET_ACCESSED_OBJECTS_FLAGS) |
NONE |
No method call.
MATRIX |
The matrix will be accessed (including e.g. frozen matrix). This doesn't include the global matrix.
DATA |
Data accessible via Get/SetParameter (including data stored in the BaseContainer and the DIRTYFLAGS::DATA bit) will be accessed.
BITS |
The Bits (BaseList2D::GetBit) of the object will be accessed.
NBITS |
The NBits (GeListNode::GetNBit) of the object will be accessed.
FALLOFF |
The falloff member will be accessed.
MEMBER |
Some other member (neither matrix, data container/parameter, bits, nor falloff) of the object will be accessed.
DEFORM_MODE |
The deform mode of a generator/deformer will be accessed.
CACHE_FLAG |
The cache of the object will be accessed. This includes cache-related data such as the dependence list, cache proxy tags, or the IsDirty/ClearDirty/Touch-controlled dirty information. During generator execution this has a hierarchical meaning, so when a generator tells that it may read from an object's cache, it is allowed to read nested caches as well. Don't use this flag directly, use CACHE instead.
CACHE |
The cache of the object will be accessed. Combination of CACHE_FLAG and BITS as CACHE_FLAG implies BITS.
VARIABLE_TAG |
A VariableTag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT.
NON_VARIABLE_TAG |
A non-VariableTag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT.
ANY_TAG |
A tag of the object will be accessed. May only be used for METHOD_ID::GET_VIRTUAL_OBJECTS or METHOD_ID::MODIFY_OBJECT. Combination of VARIABLE_TAG and NON_VARIABLE_TAG.
DESCRIPTION |
The dirty information DIRTYFLAGS::DESCRIPTION will be accessed.
ALL |
All flags combined (except GLOBAL_MATRIX, CHILD_CACHE, CAMERA, TIME and EXTERNAL).
RELATIVE_MATRIX_FLAG |
The relative matrix will be accessed. This includes all matrices on the path from accessing object to accessed object (via their lowest common ancestor). This flag may only be used for read access. Don't use this flag directly, use RELATIVE_MATRIX instead.
GLOBAL_MATRIX_FLAG |
The global matrix will be accessed. This flag may only be used for read access. Don't use this flag directly, use GLOBAL_MATRIX instead.
CHILD_CACHE |
Only a child cache of the cache will be affected. Don't use this flag directly, it will be set internally together with CACHE_FLAG to take into account that whenever a cache is modified and it is part of a parent cache, the parent cache is affected as well.
CAMERA |
The current camera will be accessed. This flag may only be used for read access.
TIME |
The current document time will be accessed. This flag may only be used for read access.
EXTERNAL |
Some external state (for example document settings) will be accessed. This flag may only be used for read access.
PRIVATE_ANYTHING |
EXTERNAL_MASK |
GLOBAL_MATRIX |
The global matrix will be accessed. Combination of GLOBAL_MATRIX_FLAG and MATRIX as GLOBAL_MATRIX_FLAG implies MATRIX. Usually, RELATIVE_MATRIX is sufficient, see there.
RELATIVE_MATRIX |
The relative matrix will be accessed. Combination of RELATIVE_MATRIX_FLAG and MATRIX as RELATIVE_MATRIX_FLAG implies MATRIX. This is more efficient than GLOBAL_MATRIX in the usual case where an object accesses the global matrix of another object just to compute the relative matrix between both. This hint is used by C4D to avoid updates if only a matrix of a common parent has changed (as that doesn't change the relative matrix).
INHERITED_MATRIX_MASK |
MIN_EXECUTION_ID |
Minimum value which encodes a call to BaseTag/BaseObject::Execute with the METHOD_ID as execution priority.
GET_VIRTUAL_OBJECTS |
BaseObject::GetVirtualObjects method of generators. For spline generators this includes the methods GetContour and CheckDirty.
MODIFY_OBJECT |
BaseObject::ModifyObject method of deformers and tags, also used for matrix modifier tags and variable tags with fields.
GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT |
BaseObject::GetVirtualObjects and/or BaseObject::ModifyObject. This special method id can be used for BaseList2D::GetAccessedObjectsRec and its related functions GetAccessedObjectsOfHierarchy, GetAccessedObjectsOfChildren, GetAccessedObjectsOfFirstChildHierarchy. It will call GetAccessedObjects on generators and modifiers and makes sure that this includes all modifiers which effect a generator. E.g., if you call GetAccessedObjectsRec on a generator, GetAccessedObjects will be called not only on the generator but also on its modifier children, modifier tags, matrix modifier tags, and variable tags with fields.
This method id must NOT be used for direct calls to GetAccessedObjects.
You don't have to check for GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT in implementations of GetAccessedObjects, the replacement by GET_VIRTUAL_OBJECTS or MODIFY_OBJECT is done internally before GetAccessedObjects implementations are called.
GV_CALCULATE |
SAMPLE |
Sampling methods of falloffs and fields, including InitFalloff.
CHECK_DIRTY |
CheckDirty method of falloffs, fields and deformers. The CheckDirty method of spline generators is subsumed in GET_VIRTUAL_OBJECTS.
EFFECTOR |
Effector methods.
CLONE_WITH_MODIFIED_PARAMETERS |