Blender  V2.93
DNA_pointcloud_types.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 
21 #pragma once
22 
23 #include "DNA_ID.h"
24 #include "DNA_customdata_types.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 typedef struct PointCloud {
31  ID id;
32  struct AnimData *adt; /* animation data (must be immediately after id) */
33 
34  int flag;
35  int _pad1[1];
36 
37  /* Geometry */
38  float (*co)[3];
39  float *radius;
40  int totpoint;
41  int _pad2[1];
42 
43  /* Custom Data */
44  struct CustomData pdata;
46  int _pad4;
47 
48  /* Material */
49  struct Material **mat;
50  short totcol;
51  short _pad3[3];
52 
53  /* Draw Cache */
54  void *batch_cache;
56 
57 /* PointCloud.flag */
58 enum {
59  PT_DS_EXPAND = (1 << 0),
60 };
61 
62 /* Only one material supported currently. */
63 #define POINTCLOUD_MATERIAL_NR 1
64 
65 #ifdef __cplusplus
66 }
67 #endif
typedef float(TangentPoint)[2]
ID and Library types, which are fundamental for sdna.
struct PointCloud PointCloud
@ PT_DS_EXPAND
Definition: DNA_ID.h:273
struct Material ** mat
struct AnimData * adt
float(* co)[3]
struct CustomData pdata