Blender  V2.93
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ObjectManager Class Reference

#include <object.h>

Public Types

enum  : uint32_t {
  PARTICLE_MODIFIED = (1 << 0) , GEOMETRY_MANAGER = (1 << 1) , MOTION_BLUR_MODIFIED = (1 << 2) , OBJECT_ADDED = (1 << 3) ,
  OBJECT_REMOVED = (1 << 4) , OBJECT_MODIFIED = (1 << 5) , HOLDOUT_MODIFIED = (1 << 6) , TRANSFORM_MODIFIED = (1 << 7) ,
  VISIBILITY_MODIFIED = (1 << 8) , UPDATE_ALL = ~0u , UPDATE_NONE = 0u
}
 

Public Member Functions

 ObjectManager ()
 
 ~ObjectManager ()
 
void device_update (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress)
 
void device_update_transforms (DeviceScene *dscene, Scene *scene, Progress &progress)
 
void device_update_flags (Device *device, DeviceScene *dscene, Scene *scene, Progress &progress, bool bounds_valid=true)
 
void device_update_mesh_offsets (Device *device, DeviceScene *dscene, Scene *scene)
 
void device_free (Device *device, DeviceScene *dscene, bool force_free)
 
void tag_update (Scene *scene, uint32_t flag)
 
bool need_update () const
 
void apply_static_transforms (DeviceScene *dscene, Scene *scene, Progress &progress)
 
string get_cryptomatte_objects (Scene *scene)
 
string get_cryptomatte_assets (Scene *scene)
 

Public Attributes

bool need_flags_update
 

Protected Member Functions

void device_update_object_transform (UpdateObjectTransformState *state, Object *ob, bool update_all)
 
void device_update_object_transform_task (UpdateObjectTransformState *state)
 
bool device_update_object_transform_pop_work (UpdateObjectTransformState *state, int *start_index, int *num_objects)
 

Detailed Description

Definition at line 124 of file object.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
PARTICLE_MODIFIED 
GEOMETRY_MANAGER 
MOTION_BLUR_MODIFIED 
OBJECT_ADDED 
OBJECT_REMOVED 
OBJECT_MODIFIED 
HOLDOUT_MODIFIED 
TRANSFORM_MODIFIED 
VISIBILITY_MODIFIED 
UPDATE_ALL 
UPDATE_NONE 

Definition at line 128 of file object.h.

Constructor & Destructor Documentation

◆ ObjectManager()

ObjectManager::ObjectManager ( )

Definition at line 376 of file object.cpp.

References need_flags_update, and UPDATE_ALL.

◆ ~ObjectManager()

ObjectManager::~ObjectManager ( )

Definition at line 382 of file object.cpp.

Member Function Documentation

◆ apply_static_transforms()

void ObjectManager::apply_static_transforms ( DeviceScene dscene,
Scene scene,
Progress progress 
)

◆ device_free()

void ObjectManager::device_free ( Device device,
DeviceScene dscene,
bool  force_free 
)

◆ device_update()

void ObjectManager::device_update ( Device device,
DeviceScene dscene,
Scene scene,
Progress progress 
)

◆ device_update_flags()

void ObjectManager::device_update_flags ( Device device,
DeviceScene dscene,
Scene scene,
Progress progress,
bool  bounds_valid = true 
)

Definition at line 694 of file object.cpp.

References need_flags_update, need_update(), scene, time, and Scene::update_stats.

Referenced by Scene::device_update().

◆ device_update_mesh_offsets()

void ObjectManager::device_update_mesh_offsets ( Device device,
DeviceScene dscene,
Scene scene 
)

◆ device_update_object_transform()

void ObjectManager::device_update_object_transform ( UpdateObjectTransformState state,
Object ob,
bool  update_all 
)
protected

◆ device_update_object_transform_pop_work()

bool ObjectManager::device_update_object_transform_pop_work ( UpdateObjectTransformState state,
int *  start_index,
int *  num_objects 
)
protected

◆ device_update_object_transform_task()

void ObjectManager::device_update_object_transform_task ( UpdateObjectTransformState state)
protected

◆ device_update_transforms()

void ObjectManager::device_update_transforms ( DeviceScene dscene,
Scene scene,
Progress progress 
)

◆ get_cryptomatte_assets()

string ObjectManager::get_cryptomatte_assets ( Scene scene)

◆ get_cryptomatte_objects()

string ObjectManager::get_cryptomatte_objects ( Scene scene)

◆ need_update()

bool ObjectManager::need_update ( ) const

Definition at line 931 of file object.cpp.

References UPDATE_NONE.

Referenced by device_update(), device_update_flags(), and Scene::need_data_update().

◆ tag_update()

void ObjectManager::tag_update ( Scene scene,
uint32_t  flag 
)

Member Data Documentation

◆ need_flags_update

bool ObjectManager::need_flags_update

Definition at line 145 of file object.h.

Referenced by device_update_flags(), ObjectManager(), and Shader::tag_update().


The documentation for this class was generated from the following files: