Blender  V3.3
Classes | Public Member Functions | Public Attributes | Friends | List of all members
PointCloud Class Reference

#include <DNA_pointcloud_types.h>

Inheritance diagram for PointCloud:
Geometry Node

Classes

struct  Point
 

Public Member Functions

 PointCloud ()
 
 ~PointCloud ()
 
void clear (const bool preserver_shaders=false) override
 
void resize (int numpoints)
 
void reserve (int numpoints)
 
void add_point (float3 loc, float radius, int shader=0)
 
void copy_center_to_motion_step (const int motion_step)
 
void compute_bounds () override
 
void apply_transform (const Transform &tfm, const bool apply_to_motion) override
 
Point get_point (int i) const
 
size_t num_points () const
 
size_t num_attributes () const
 
void get_uv_tiles (ustring map, unordered_set< int > &tiles) override
 
PrimitiveType primitive_type () const override
 
void pack (Scene *scene, float4 *packed_points, uint *packed_shader)
 
- Public Member Functions inherited from Geometry
 Geometry (const NodeType *node_type, const Type type)
 
virtual ~Geometry ()
 
bool need_attribute (Scene *scene, AttributeStandard std)
 
bool need_attribute (Scene *scene, ustring name)
 
AttributeRequestSet needed_attributes ()
 
float motion_time (int step) const
 
int motion_step (float time) const
 
void compute_bvh (Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, size_t n, size_t total)
 
bool need_build_bvh (BVHLayout layout) const
 
bool is_instanced () const
 
bool has_true_displacement () const
 
bool has_motion_blur () const
 
bool has_voxel_attributes () const
 
bool is_mesh () const
 
bool is_hair () const
 
bool is_pointcloud () const
 
bool is_volume () const
 
void tag_update (Scene *scene, bool rebuild)
 
void tag_bvh_update (bool rebuild)
 
- Public Member Functions inherited from Node
 Node (const NodeType *type, ustring name=ustring())
 
virtual ~Node ()=0
 
void set (const SocketType &input, bool value)
 
void set (const SocketType &input, int value)
 
void set (const SocketType &input, uint value)
 
void set (const SocketType &input, float value)
 
void set (const SocketType &input, float2 value)
 
void set (const SocketType &input, float3 value)
 
void set (const SocketType &input, const char *value)
 
void set (const SocketType &input, ustring value)
 
void set (const SocketType &input, const Transform &value)
 
void set (const SocketType &input, Node *value)
 
template<class ValueType , typename std::enable_if_t< std::is_enum_v< ValueType >> * = nullptr>
void set (const SocketType &input, const ValueType &value)
 
void set (const SocketType &input, array< bool > &value)
 
void set (const SocketType &input, array< int > &value)
 
void set (const SocketType &input, array< float > &value)
 
void set (const SocketType &input, array< float2 > &value)
 
void set (const SocketType &input, array< float3 > &value)
 
void set (const SocketType &input, array< ustring > &value)
 
void set (const SocketType &input, array< Transform > &value)
 
void set (const SocketType &input, array< Node * > &value)
 
bool get_bool (const SocketType &input) const
 
int get_int (const SocketType &input) const
 
uint get_uint (const SocketType &input) const
 
float get_float (const SocketType &input) const
 
float2 get_float2 (const SocketType &input) const
 
float3 get_float3 (const SocketType &input) const
 
ustring get_string (const SocketType &input) const
 
Transform get_transform (const SocketType &input) const
 
Nodeget_node (const SocketType &input) const
 
const array< bool > & get_bool_array (const SocketType &input) const
 
const array< int > & get_int_array (const SocketType &input) const
 
const array< float > & get_float_array (const SocketType &input) const
 
const array< float2 > & get_float2_array (const SocketType &input) const
 
const array< float3 > & get_float3_array (const SocketType &input) const
 
const array< ustring > & get_string_array (const SocketType &input) const
 
const array< Transform > & get_transform_array (const SocketType &input) const
 
const array< Node * > & get_node_array (const SocketType &input) const
 
bool has_default_value (const SocketType &input) const
 
void set_default_value (const SocketType &input)
 
bool equals_value (const Node &other, const SocketType &input) const
 
void copy_value (const SocketType &input, const Node &other, const SocketType &other_input)
 
void set_value (const SocketType &input, const Node &other, const SocketType &other_input)
 
bool equals (const Node &other) const
 
void hash (MD5Hash &md5)
 
size_t get_total_size_in_bytes () const
 
bool is_a (const NodeType *type)
 
bool socket_is_modified (const SocketType &input) const
 
bool is_modified () const
 
void tag_modified ()
 
void clear_modified ()
 
void print_modified_sockets () const
 
const NodeOwnerget_owner () const
 
void set_owner (const NodeOwner *owner_)
 
int reference_count () const
 
void reference ()
 
void dereference ()
 
void clear_reference_count ()
 

Public Attributes

ID id
 
struct AnimDataadt
 
int flag
 
int totpoint
 
struct CustomData pdata
 
int attributes_active_index
 
int _pad4
 
struct Material ** mat
 
short totcol
 
short _pad3 [3]
 
voidbatch_cache
 
- Public Attributes inherited from Geometry
Type geometry_type
 
AttributeSet attributes
 
BoundBox bounds
 
bool transform_applied
 
bool transform_negative_scaled
 
Transform transform_normal
 
BVHbvh
 
size_t attr_map_offset
 
size_t prim_offset
 
bool has_volume
 
bool has_surface_bssrdf
 
bool need_update_rebuild
 
bool need_update_bvh_for_offset
 
size_t index
 
- Public Attributes inherited from Node
ustring name
 
const NodeTypetype
 
InternalNode internal
 
LeafNode leaf
 

Friends

class BVH2
 
class BVHBuild
 
class BVHSpatialSplit
 
class DiagSplit
 
class EdgeDice
 
class GeometryManager
 
class ObjectManager
 

Additional Inherited Members

- Public Types inherited from Geometry
enum  Type { MESH , HAIR , VOLUME , POINTCLOUD }
 
- Static Public Attributes inherited from Geometry
static const uint MAX_MOTION_STEPS = 129
 
- Protected Member Functions inherited from Node
template<typename T >
void set_if_different (const SocketType &input, T value)
 
void set_if_different (const SocketType &input, Node *value)
 
template<typename T >
void set_if_different (const SocketType &input, array< T > &value)
 
void set_if_different (const SocketType &input, array< Node * > &value)
 
void dereference_all_used_nodes ()
 
- Static Protected Member Functions inherited from Node
template<typename T >
static Tget_socket_value (const Node *node, const SocketType &socket)
 
- Protected Attributes inherited from Node
const NodeOwnerowner
 
int ref_count {0}
 
SocketModifiedFlags socket_modified
 

Detailed Description

Definition at line 16 of file DNA_pointcloud_types.h.

Constructor & Destructor Documentation

◆ PointCloud()

PointCloud::PointCloud ( )

Definition at line 96 of file scene/pointcloud.cpp.

◆ ~PointCloud()

PointCloud::~PointCloud ( )

Definition at line 100 of file scene/pointcloud.cpp.

Member Function Documentation

◆ add_point()

void PointCloud::add_point ( float3  loc,
float  radius,
int  shader = 0 
)

Definition at line 138 of file scene/pointcloud.cpp.

References r.

Referenced by export_pointcloud().

◆ apply_transform()

void PointCloud::apply_transform ( const Transform tfm,
const bool  apply_to_motion 
)
overridevirtual

◆ clear()

void PointCloud::clear ( const bool  preserver_shaders = false)
overridevirtual

Reimplemented from Geometry.

Definition at line 124 of file scene/pointcloud.cpp.

References Geometry::attributes, Geometry::clear(), and AttributeSet::clear().

◆ compute_bounds()

void PointCloud::compute_bounds ( )
overridevirtual

◆ copy_center_to_motion_step()

void PointCloud::copy_center_to_motion_step ( const int  motion_step)

◆ get_point()

Point PointCloud::get_point ( int  i) const
inline

Definition at line 65 of file scene/pointcloud.h.

References point.

Referenced by BVHBuild::add_reference_points(), and BVH2::refit_primitives().

◆ get_uv_tiles()

void PointCloud::get_uv_tiles ( ustring  map,
unordered_set< int > &  tiles 
)
overridevirtual

◆ num_attributes()

size_t PointCloud::num_attributes ( ) const
inline

Definition at line 76 of file scene/pointcloud.h.

◆ num_points()

size_t PointCloud::num_points ( ) const
inline

◆ pack()

void PointCloud::pack ( Scene scene,
float4 packed_points,
uint packed_shader 
)

◆ primitive_type()

PrimitiveType PointCloud::primitive_type ( ) const
overridevirtual

Implements Geometry.

Definition at line 286 of file scene/pointcloud.cpp.

References Geometry::has_motion_blur(), PRIMITIVE_MOTION_POINT, and PRIMITIVE_POINT.

◆ reserve()

void PointCloud::reserve ( int  numpoints)

Definition at line 116 of file scene/pointcloud.cpp.

References Geometry::attributes, and AttributeSet::resize().

Referenced by export_pointcloud().

◆ resize()

void PointCloud::resize ( int  numpoints)

Definition at line 104 of file scene/pointcloud.cpp.

References Geometry::attributes, and AttributeSet::resize().

Friends And Related Function Documentation

◆ BVH2

friend class BVH2
friend

Definition at line 90 of file scene/pointcloud.h.

◆ BVHBuild

friend class BVHBuild
friend

Definition at line 91 of file scene/pointcloud.h.

◆ BVHSpatialSplit

friend class BVHSpatialSplit
friend

Definition at line 92 of file scene/pointcloud.h.

◆ DiagSplit

friend class DiagSplit
friend

Definition at line 93 of file scene/pointcloud.h.

◆ EdgeDice

friend class EdgeDice
friend

Definition at line 94 of file scene/pointcloud.h.

◆ GeometryManager

friend class GeometryManager
friend

Definition at line 95 of file scene/pointcloud.h.

◆ ObjectManager

friend class ObjectManager
friend

Definition at line 96 of file scene/pointcloud.h.

Member Data Documentation

◆ _pad3

short PointCloud::_pad3[3]

Definition at line 33 of file DNA_pointcloud_types.h.

◆ _pad4

int PointCloud::_pad4

Definition at line 28 of file DNA_pointcloud_types.h.

◆ adt

struct AnimData* PointCloud::adt

◆ attributes_active_index

int PointCloud::attributes_active_index

Definition at line 27 of file DNA_pointcloud_types.h.

◆ batch_cache

void* PointCloud::batch_cache

◆ flag

int PointCloud::flag

Definition at line 20 of file DNA_pointcloud_types.h.

Referenced by acf_dspointcloud_setting_ptr().

◆ id

ID PointCloud::id

◆ mat

struct Material** PointCloud::mat

◆ pdata

struct CustomData PointCloud::pdata

◆ totcol

short PointCloud::totcol

◆ totpoint

int PointCloud::totpoint

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