|
Blender V4.3
|
#include <DNA_pointcloud_types.h>
Inherits Geometry.
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, uint64_t 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 , std::enable_if_t< std::is_enum_v< ValueType >, bool > = true> | |
| 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 |
| uint64_t | get_uint64 (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] |
| PointCloudRuntimeHandle * | runtime |
| 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 |
Definition at line 37 of file DNA_pointcloud_types.h.
| PointCloud::PointCloud | ( | ) |
Definition at line 94 of file scene/pointcloud.cpp.
| PointCloud::~PointCloud | ( | ) |
Definition at line 96 of file scene/pointcloud.cpp.
Definition at line 132 of file scene/pointcloud.cpp.
|
overridevirtual |
Implements Geometry.
Definition at line 223 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, cross(), Attribute::data_float4(), dot(), fabsf, float3_to_float4(), float4_to_float3(), powf, transform_get_column(), and transform_point().
|
overridevirtual |
Reimplemented from Geometry.
Definition at line 118 of file scene/pointcloud.cpp.
References Geometry::clear().
|
overridevirtual |
Implements Geometry.
Definition at line 176 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Geometry::bounds, Attribute::data_float4(), BoundBox::empty, float4_to_float3(), BoundBox::grow(), BoundBox::grow_safe(), make_float3(), BoundBox::size(), and BoundBox::valid().
| void PointCloud::copy_center_to_motion_step | ( | const int | motion_step | ) |
Definition at line 143 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Attribute::data_float4(), make_float4(), Geometry::motion_step(), and P.
Referenced by export_pointcloud_motion().
Definition at line 66 of file scene/pointcloud.h.
References point.
Referenced by BVHBuild::add_reference_points(), and BVH2::refit_primitives().
|
overridevirtual |
Implements Geometry.
Definition at line 160 of file scene/pointcloud.cpp.
References ATTR_PRIM_GEOMETRY, ATTR_STD_UV, Attribute::get_uv_tiles(), and tiles.
|
inline |
Definition at line 77 of file scene/pointcloud.h.
|
inline |
Definition at line 72 of file scene/pointcloud.h.
Referenced by BVHBuild::add_reference_points(), count_primitives(), GeometryManager::device_update_mesh(), ObjectManager::device_update_object_transform(), Attribute::element_size(), export_pointcloud_motion(), GeometryManager::geom_calc_offset(), PointCloud::Point::motion_key(), PointCloud::Point::point_for_step(), and BVHSpatialSplit::split_object_reference().
Definition at line 263 of file scene/pointcloud.cpp.
References make_float4(), and z().
Referenced by GeometryManager::device_update_mesh().
|
overridevirtual |
Implements Geometry.
Definition at line 289 of file scene/pointcloud.cpp.
References Geometry::has_motion_blur(), PRIMITIVE_MOTION_POINT, and PRIMITIVE_POINT.
| void PointCloud::reserve | ( | int | numpoints | ) |
Definition at line 110 of file scene/pointcloud.cpp.
| void PointCloud::resize | ( | int | numpoints | ) |
Definition at line 98 of file scene/pointcloud.cpp.
Referenced by export_pointcloud().
|
friend |
Definition at line 91 of file scene/pointcloud.h.
|
friend |
Definition at line 92 of file scene/pointcloud.h.
|
friend |
Definition at line 93 of file scene/pointcloud.h.
|
friend |
Definition at line 94 of file scene/pointcloud.h.
|
friend |
Definition at line 95 of file scene/pointcloud.h.
|
friend |
Definition at line 96 of file scene/pointcloud.h.
|
friend |
Definition at line 97 of file scene/pointcloud.h.
| short PointCloud::_pad3[3] |
Definition at line 55 of file DNA_pointcloud_types.h.
| int PointCloud::_pad4 |
Definition at line 50 of file DNA_pointcloud_types.h.
| struct AnimData* PointCloud::adt |
Definition at line 39 of file DNA_pointcloud_types.h.
Referenced by acf_dspointcloud_setting_ptr(), and make_new_animlistelem().
| int PointCloud::attributes_active_index |
Set to -1 when none is active.
Definition at line 49 of file DNA_pointcloud_types.h.
Referenced by BKE_attributes_active_index_p().
| void* PointCloud::batch_cache |
Definition at line 75 of file DNA_pointcloud_types.h.
Referenced by BKE_pointcloud_batch_cache_dirty_tag(), BKE_pointcloud_batch_cache_free(), blender::draw::DRW_pointcloud_batch_cache_free(), blender::draw::pointcloud_batch_cache_get(), blender::draw::pointcloud_batch_cache_init(), and pointcloud_copy_data().
| int PointCloud::flag |
Definition at line 41 of file DNA_pointcloud_types.h.
Referenced by acf_dspointcloud_setting_ptr().
| ID PointCloud::id |
Definition at line 38 of file DNA_pointcloud_types.h.
Referenced by BKE_pointcloud_add_default(), BKE_pointcloud_copy_for_eval(), BKE_pointcloud_data_update(), BKE_pointcloud_new_nomain(), BKE_pointcloud_nomain_to_pointcloud(), blender::ed::object::modifier_apply_obdata(), blender::ed::object::object_convert_exec(), blender::ed::object::object_origin_set_exec(), pointcloud_blend_write(), pointcloud_free_data(), and blender::ed::geometry::store_result_geometry().
| struct Material** PointCloud::mat |
Definition at line 53 of file DNA_pointcloud_types.h.
Referenced by BKE_object_material_array_p(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::extract_pointcloud_points(), modify_geometry_set(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_copy_data(), pointcloud_foreach_id(), pointcloud_free_data(), and blender::ed::outliner::unlink_material_fn().
| struct CustomData PointCloud::pdata |
Definition at line 47 of file DNA_pointcloud_types.h.
Referenced by BKE_mesh_to_pointcloud(), BKE_pointcloud_new_nomain(), BKE_pointcloud_nomain_to_pointcloud(), blender::bke::create_attribute_providers_for_point_cloud(), blender::geometry::debug_randomize_point_order(), blender::draw::DRW_pointcloud_evaluated_attribute(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), get_domains(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_copy_data(), pointcloud_free_data(), blender::nodes::node_geo_curve_to_points_cc::pointcloud_from_curves(), pointcloud_init_data(), blender::bke::pointcloud_new_no_attributes(), pointcloud_random(), blender::draw::pointcloud_surface_shaded_get(), and blender::bke::bake::try_load_pointcloud().
| PointCloudRuntimeHandle* PointCloud::runtime |
Definition at line 72 of file DNA_pointcloud_types.h.
Referenced by pointcloud_blend_read_data(), pointcloud_copy_data(), pointcloud_free_data(), pointcloud_init_data(), blender::bke::bake::serialize_geometry_set(), blender::geometry::translate_pointcloud(), and blender::bke::bake::try_load_pointcloud().
| short PointCloud::totcol |
Definition at line 54 of file DNA_pointcloud_types.h.
Referenced by BKE_object_material_len_p(), blender::draw::DRW_pointcloud_material_count_get(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::extract_pointcloud_points(), modify_geometry_set(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_foreach_id(), and blender::ed::outliner::unlink_material_fn().
| int PointCloud::totpoint |
Definition at line 44 of file DNA_pointcloud_types.h.
Referenced by BKE_mesh_to_pointcloud(), BKE_pointcloud_new_nomain(), BKE_pointcloud_nomain_to_pointcloud(), blender::ed::spreadsheet::PointsViewItem::build_row(), blender::bke::create_attribute_providers_for_point_cloud(), blender::geometry::debug_randomize_point_order(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), blender::geometry::execute_realize_pointcloud_task(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::extract_pointcloud_points(), blender::geometry::gather_realize_tasks_recursive(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_sample_nearest_cc::get_closest_pointcloud_points(), get_domains(), blender::bke::get_pointcloud_accessor_functions(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_pointcloud(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_copy_data(), blender::draw::pointcloud_extract_attribute(), blender::draw::pointcloud_extract_indices(), pointcloud_free_data(), blender::nodes::node_geo_curve_to_points_cc::pointcloud_from_curves(), blender::nodes::node_geo_merge_by_distance_cc::pointcloud_merge_by_distance(), blender::bke::pointcloud_new_no_attributes(), pointcloud_random(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::io::usd::USDPointsReader::read_geometry(), blender::geometry::seed_from_pointcloud(), blender::geometry::separate_point_cloud_selection(), blender::bke::bake::serialize_geometry_set(), and blender::bke::bake::try_load_pointcloud().