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
 
Node * get_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 NodeOwner * get_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 AnimData * adt
 
int flag
 
int totpoint
 
struct CustomData pdata
 
int attributes_active_index
 
int _pad4
 
struct Material ** mat
 
short totcol
 
short _pad3 [3]
 
void * batch_cache
 
- Public Attributes inherited from Geometry
Type geometry_type
 
AttributeSet attributes
 
BoundBox bounds
 
bool transform_applied
 
bool transform_negative_scaled
 
Transform transform_normal
 
BVH * bvh
 
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 NodeType * type
 
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 T & get_socket_value (const Node *node, const SocketType &socket)
 
- Protected Attributes inherited from Node
const NodeOwner * owner
 
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: