Blender V4.3
DupliContext Struct Reference

Public Attributes

Depsgraph * depsgraph
 
Collectioncollection
 
Objectobedit
 
Scenescene
 
Objectroot_object
 
Objectobject
 
float space_mat [4][4]
 
int preview_instance_index
 
const GeometrySetpreview_base_geometry
 
Vector< Object * > * instance_stack
 
Vector< short > * dupli_gen_type_stack
 
int persistent_id [MAX_DUPLI_RECUR]
 
int64_t instance_idx [MAX_DUPLI_RECUR]
 
const GeometrySetinstance_data [MAX_DUPLI_RECUR]
 
int level
 
const struct DupliGeneratorgen
 
ListBaseduplilist
 

Detailed Description

Definition at line 83 of file object_dupli.cc.

Member Data Documentation

◆ collection

Collection* DupliContext::collection

XXX child objects are selected from this group if set, could be nicer.

Definition at line 86 of file object_dupli.cc.

Referenced by copy_dupli_context(), init_context(), make_child_duplis(), and make_duplis_font().

◆ depsgraph

◆ dupli_gen_type_stack

Vector<short>* DupliContext::dupli_gen_type_stack

Older code relies on the "dupli generator type" for various visibility or processing decisions. However, new code uses geometry instances in places that weren't using the dupli system previously. To fix this, keep track of the last dupli generator type that wasn't a geometry set instance.

Definition at line 119 of file object_dupli.cc.

Referenced by copy_dupli_context(), init_context(), make_child_duplis(), make_dupli(), and make_recursive_duplis().

◆ duplilist

ListBase* DupliContext::duplilist

Result containers.

Definition at line 129 of file object_dupli.cc.

Referenced by init_context(), make_dupli(), object_duplilist(), and object_duplilist_preview().

◆ gen

const struct DupliGenerator* DupliContext::gen

◆ instance_data

const GeometrySet* DupliContext::instance_data[MAX_DUPLI_RECUR]

Definition at line 123 of file object_dupli.cc.

Referenced by copy_dupli_context(), and make_dupli().

◆ instance_idx

int64_t DupliContext::instance_idx[MAX_DUPLI_RECUR]

Definition at line 122 of file object_dupli.cc.

Referenced by copy_dupli_context(), and make_dupli().

◆ instance_stack

Vector<Object *>* DupliContext::instance_stack

A stack that contains all the "parent" objects of a particular instance when recursive instancing is used. This is used to prevent objects from instancing themselves accidentally. Use a vector instead of a stack because we want to use the #contains method.

Definition at line 111 of file object_dupli.cc.

Referenced by copy_dupli_context(), init_context(), and make_recursive_duplis().

◆ level

int DupliContext::level

◆ obedit

Object* DupliContext::obedit

Only to check if the object is in edit-mode.

Definition at line 88 of file object_dupli.cc.

Referenced by init_context(), and make_child_duplis().

◆ object

◆ persistent_id

int DupliContext::persistent_id[MAX_DUPLI_RECUR]

Definition at line 121 of file object_dupli.cc.

Referenced by copy_dupli_context(), and make_dupli().

◆ preview_base_geometry

const GeometrySet* DupliContext::preview_base_geometry

Top level geometry set that is previewed.

Definition at line 104 of file object_dupli.cc.

Referenced by init_context(), make_dupli(), make_duplis_geometry_set_impl(), and object_duplilist_preview().

◆ preview_instance_index

int DupliContext::preview_instance_index

Index of the top-level instance that contains this context or -1 when unused. This is an index into the instances component of preview_base_geometry.

Definition at line 100 of file object_dupli.cc.

Referenced by init_context(), make_dupli(), and make_duplis_geometry_set_impl().

◆ root_object

Object* DupliContext::root_object

Root parent object at the scene level.

Definition at line 92 of file object_dupli.cc.

Referenced by init_context(), and make_dupli().

◆ scene

Scene* DupliContext::scene

Definition at line 90 of file object_dupli.cc.

Referenced by init_context(), and make_duplis_particle_system().

◆ space_mat

float DupliContext::space_mat[4][4]

Definition at line 95 of file object_dupli.cc.

Referenced by copy_dupli_context(), init_context(), and make_dupli().


The documentation for this struct was generated from the following file: