Blender V5.0
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
Set< const Object * > * include_objects
int persistent_id [MAX_DUPLI_RECUR]
int64_t instance_idx [MAX_DUPLI_RECUR]
const GeometrySetinstance_data [MAX_DUPLI_RECUR]
int level
const struct DupliGeneratorgen
DupliListduplilist

Detailed Description

Definition at line 90 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 93 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 126 of file object_dupli.cc.

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

◆ duplilist

DupliList* DupliContext::duplilist

Result containers.

Definition at line 141 of file object_dupli.cc.

Referenced by init_context(), and make_dupli().

◆ gen

◆ include_objects

Set<const Object *>* DupliContext::include_objects

If not null, then only instance objects that are in this set.

Definition at line 131 of file object_dupli.cc.

Referenced by init_context(), and make_duplis_collection().

◆ instance_data

const GeometrySet* DupliContext::instance_data[MAX_DUPLI_RECUR]

Definition at line 135 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 134 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 118 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 95 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 133 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 111 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 107 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 99 of file object_dupli.cc.

Referenced by init_context(), and make_dupli().

◆ scene

Scene* DupliContext::scene

Definition at line 97 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 102 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: