c4d_accessedobjects.h File Reference

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)
 

Variables

 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
 
 MIN_EXECUTION_ID
 
 GET_VIRTUAL_OBJECTS
 
 MODIFY_OBJECT
 
 GET_VIRTUAL_OBJECTS_AND_MODIFY_OBJECT
 
 GV_CALCULATE
 
 SAMPLE
 
 CHECK_DIRTY
 
 EFFECTOR
 
 CLONE_WITH_MODIFIED_PARAMETERS
 
enum BUILDFLAGS UInt16 class cinema::AccessedObjectsCallback MAXON_ENUM_FLAGS
 

Variable Documentation

◆ NONE

NONE

No method call.

◆ MATRIX

MATRIX

The matrix will be accessed (including e.g. frozen matrix). This doesn't include the global matrix.

◆ DATA

DATA

Data accessible via Get/SetParameter (including data stored in the BaseContainer and the DIRTYFLAGS::DATA bit) will be accessed.

◆ BITS

BITS

The Bits (BaseList2D::GetBit) of the object will be accessed.

◆ NBITS

NBITS

The NBits (GeListNode::GetNBit) of the object will be accessed.

◆ FALLOFF

FALLOFF

The falloff member will be accessed.

◆ MEMBER

MEMBER

Some other member (neither matrix, data container/parameter, bits, nor falloff) of the object will be accessed.

◆ DEFORM_MODE

DEFORM_MODE

The deform mode of a generator/deformer will be accessed.

◆ CACHE_FLAG

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

CACHE

The cache of the object will be accessed. Combination of CACHE_FLAG and BITS as CACHE_FLAG implies BITS.

◆ VARIABLE_TAG

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

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

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

DESCRIPTION

The dirty information DIRTYFLAGS::DESCRIPTION will be accessed.

◆ ALL

ALL

All flags combined (except GLOBAL_MATRIX, CHILD_CACHE, CAMERA, TIME and EXTERNAL).

◆ RELATIVE_MATRIX_FLAG

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

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

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

CAMERA

The current camera will be accessed. This flag may only be used for read access.

◆ TIME

TIME

The current document time will be accessed. This flag may only be used for read access.

◆ EXTERNAL

EXTERNAL

Some external state (for example document settings) will be accessed. This flag may only be used for read access.

◆ PRIVATE_ANYTHING

PRIVATE_ANYTHING

◆ EXTERNAL_MASK

EXTERNAL_MASK

◆ GLOBAL_MATRIX

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

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

INHERITED_MATRIX_MASK

◆ MIN_EXECUTION_ID

MIN_EXECUTION_ID

Minimum value which encodes a call to BaseTag/BaseObject::Execute with the METHOD_ID as execution priority.

◆ GET_VIRTUAL_OBJECTS

GET_VIRTUAL_OBJECTS

BaseObject::GetVirtualObjects method of generators. For spline generators this includes the methods GetContour and CheckDirty.

◆ MODIFY_OBJECT

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

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

GV_CALCULATE

◆ SAMPLE

SAMPLE

Sampling methods of falloffs and fields, including InitFalloff.

◆ CHECK_DIRTY

CHECK_DIRTY

CheckDirty method of falloffs, fields and deformers. The CheckDirty method of spline generators is subsumed in GET_VIRTUAL_OBJECTS.

◆ EFFECTOR

EFFECTOR

Effector methods.

◆ CLONE_WITH_MODIFIED_PARAMETERS

CLONE_WITH_MODIFIED_PARAMETERS