Blender  V2.93
BKE_duplilist.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19 #pragma once
20 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 struct Depsgraph;
30 struct ListBase;
31 struct Object;
32 struct ParticleSystem;
33 struct Scene;
34 
35 /* ---------------------------------------------------- */
36 /* Dupli-Geometry */
37 
39  struct Scene *sce,
40  struct Object *ob);
41 void free_object_duplilist(struct ListBase *lb);
42 
43 typedef struct DupliObject {
44  struct DupliObject *next, *prev;
45  struct Object *ob;
46  float mat[4][4];
47  float orco[3], uv[2];
48 
49  short type; /* from Object.transflag */
50  char no_draw;
51 
52  /* Persistent identifier for a dupli object, for inter-frame matching of
53  * objects with motion blur, or inter-update matching for syncing. */
54  int persistent_id[8]; /* MAX_DUPLI_RECUR */
55 
56  /* Particle this dupli was generated from. */
58 
59  /* Random ID for shading */
60  unsigned int random_id;
62 
63 #ifdef __cplusplus
64 }
65 #endif
struct ListBase * object_duplilist(struct Depsgraph *depsgraph, struct Scene *sce, struct Object *ob)
void free_object_duplilist(struct ListBase *lb)
struct DupliObject DupliObject
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:51
const Depsgraph * depsgraph
float uv[2]
Definition: BKE_duplilist.h:47
float mat[4][4]
Definition: BKE_duplilist.h:46
struct DupliObject * prev
Definition: BKE_duplilist.h:44
struct ParticleSystem * particle_system
Definition: BKE_duplilist.h:57
int persistent_id[8]
Definition: BKE_duplilist.h:54
float orco[3]
Definition: BKE_duplilist.h:47
struct Object * ob
Definition: BKE_duplilist.h:45
unsigned int random_id
Definition: BKE_duplilist.h:60
struct DupliObject * next
Definition: BKE_duplilist.h:44