|
Blender V5.0
|
#include <DNA_pointcloud_types.h>
Inherits Geometry.
Classes | |
| struct | Point |
Public Member Functions | |
| PointCloud () | |
| ~PointCloud () override | |
| void | clear_non_sockets () |
| void | clear (const bool preserve_shaders=false) override |
| void | resize (const int numpoints) |
| void | reserve (const int numpoints) |
| void | add_point (const float3 co, const float radius, const 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 (const 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) | |
| ~Geometry () override | |
| bool | need_attribute (Scene *scene, AttributeStandard std) |
| bool | need_attribute (Scene *scene, ustring name) |
| AttributeRequestSet | needed_attributes () |
| float | motion_time (const int step) const |
| int | motion_step (const float time) const |
| void | compute_bvh (Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, const size_t n, size_t total) |
| bool | need_build_bvh (BVHLayout layout) const |
| bool | is_instanced () const |
| bool | has_true_displacement () const |
| virtual 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 |
| bool | is_light () const |
| void | tag_update (Scene *scene, 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, const int value) |
| void | set (const SocketType &input, const uint value) |
| void | set (const SocketType &input, const uint64_t value) |
| void | set (const SocketType &input, const float value) |
| void | set (const SocketType &input, const float2 value) |
| void | set (const SocketType &input, const 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 &socket) const |
| void | copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| void | set_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| 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 AttributeStorage | attribute_storage |
| struct CustomData | pdata_legacy |
| 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 |
| unique_ptr< 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 , LIGHT } |
| 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 40 of file DNA_pointcloud_types.h.
| PointCloud::PointCloud | ( | ) |
Definition at line 92 of file scene/pointcloud.cpp.
References Geometry::Geometry(), and Geometry::POINTCLOUD.
|
overridedefault |
References Geometry::motion_step().
Definition at line 135 of file scene/pointcloud.cpp.
|
overridevirtual |
Implements Geometry.
Definition at line 226 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Geometry::attributes, cross, Attribute::data_float4(), dot(), fabsf, i, make_float3(), make_float4, powf, transform_get_column(), transform_point(), and float4::w.
|
overridevirtual |
Reimplemented from Geometry.
Definition at line 121 of file scene/pointcloud.cpp.
References Geometry::attributes, and Geometry::clear().
| void PointCloud::clear_non_sockets | ( | ) |
Definition at line 116 of file scene/pointcloud.cpp.
References Geometry::clear().
|
overridevirtual |
Implements Geometry.
Definition at line 179 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Geometry::attributes, Geometry::bounds, Attribute::data_float4(), BoundBox::empty, BoundBox::grow(), BoundBox::grow_safe(), i, make_float3(), BoundBox::valid(), and w().
| void PointCloud::copy_center_to_motion_step | ( | const int | motion_step | ) |
Definition at line 146 of file scene/pointcloud.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, Geometry::attributes, Attribute::data_float4(), i, make_float4, Geometry::motion_step(), and P.
Referenced by export_pointcloud_motion().
|
inline |
Definition at line 64 of file scene/pointcloud.h.
References i.
Referenced by BVHBuild::add_reference_points(), and BVH2::refit_primitives().
|
overridevirtual |
Implements Geometry.
Definition at line 163 of file scene/pointcloud.cpp.
References ATTR_PRIM_GEOMETRY, ATTR_STD_UV, Geometry::attributes, Attribute::get_uv_tiles(), and tiles.
|
inline |
Definition at line 75 of file scene/pointcloud.h.
|
inline |
Definition at line 70 of file scene/pointcloud.h.
Referenced by BVHBuild::add_reference_points(), count_primitives(), GeometryManager::device_update_mesh(), 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 266 of file scene/pointcloud.cpp.
References Scene::default_surface, i, make_float4, and Scene::shader_manager.
Referenced by GeometryManager::device_update_mesh().
|
overridevirtual |
Implements Geometry.
Definition at line 291 of file scene/pointcloud.cpp.
References Geometry::has_motion_blur(), PRIMITIVE_MOTION_POINT, and PRIMITIVE_POINT.
| void PointCloud::reserve | ( | const int | numpoints | ) |
Definition at line 108 of file scene/pointcloud.cpp.
References Geometry::attributes.
| void PointCloud::resize | ( | const int | numpoints | ) |
Definition at line 96 of file scene/pointcloud.cpp.
References Geometry::attributes.
Referenced by export_pointcloud().
|
friend |
|
friend |
|
friend |
Definition at line 91 of file scene/pointcloud.h.
References BVHSpatialSplit.
Referenced by BVHSpatialSplit.
|
friend |
|
friend |
|
friend |
Definition at line 94 of file scene/pointcloud.h.
References GeometryManager.
Referenced by GeometryManager.
|
friend |
Definition at line 95 of file scene/pointcloud.h.
References ObjectManager.
Referenced by ObjectManager.
| short PointCloud::_pad3[3] |
Definition at line 66 of file DNA_pointcloud_types.h.
| int PointCloud::_pad4 |
Definition at line 61 of file DNA_pointcloud_types.h.
| struct AnimData* PointCloud::adt |
Definition at line 47 of file DNA_pointcloud_types.h.
Referenced by acf_dspointcloud_setting_ptr(), and make_new_animlistelem().
| struct AttributeStorage PointCloud::attribute_storage |
Storage for generic attributes.
Definition at line 55 of file DNA_pointcloud_types.h.
Referenced by BKE_pointcloud_nomain_to_pointcloud(), blender::geometry::debug_randomize_point_order(), blender::bke::get_pointcloud_accessor_functions(), AttributeOwner::get_storage(), pointcloud_blend_read_data(), pointcloud_blend_write(), blender::bke::pointcloud_convert_customdata_to_storage(), pointcloud_copy_data(), pointcloud_foreach_working_space_color(), pointcloud_free_data(), pointcloud_init_data(), and blender::ed::geometry::store_result_geometry().
| int PointCloud::attributes_active_index |
Set to -1 when none is active.
Definition at line 60 of file DNA_pointcloud_types.h.
Referenced by BKE_attributes_active_index_p().
| void* PointCloud::batch_cache |
Definition at line 94 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 49 of file DNA_pointcloud_types.h.
Referenced by acf_dspointcloud_setting_ptr(), and pointcloud_copy_parameters().
| ID PointCloud::id |
Definition at line 46 of file DNA_pointcloud_types.h.
Referenced by 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::draw::pointcloud_batch_cache_init(), blender::draw::pointcloud_batch_cache_valid(), pointcloud_blend_write(), pointcloud_free_data(), blender::ed::pointcloud::set_attribute_exec(), blender::ed::pointcloud::set_attribute_invoke(), and blender::ed::geometry::store_result_geometry().
| struct Material** PointCloud::mat |
Definition at line 64 of file DNA_pointcloud_types.h.
Referenced by BKE_object_material_array_p(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::extract_pointcloud_points(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_copy_data(), pointcloud_copy_parameters(), pointcloud_foreach_id(), and pointcloud_free_data().
| struct CustomData PointCloud::pdata_legacy |
Definition at line 58 of file DNA_pointcloud_types.h.
Referenced by pointcloud_blend_read_data(), pointcloud_blend_write(), and blender::bke::pointcloud_convert_customdata_to_storage().
| PointCloudRuntimeHandle* PointCloud::runtime |
Definition at line 91 of file DNA_pointcloud_types.h.
Referenced by BKE_pointcloud_nomain_to_pointcloud(), blender::io::csv::import_csv_as_pointcloud(), 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 65 of file DNA_pointcloud_types.h.
Referenced by BKE_object_material_len_p(), blender::geometry::execute_realize_pointcloud_tasks(), blender::geometry::extract_pointcloud_points(), pointcloud_blend_read_data(), pointcloud_blend_write(), pointcloud_copy_parameters(), and pointcloud_foreach_id().
| int PointCloud::totpoint |
Definition at line 52 of file DNA_pointcloud_types.h.
Referenced by BKE_mesh_to_pointcloud(), BKE_pointcloud_new_nomain(), BKE_pointcloud_nomain_to_pointcloud(), blender::bke::bvhtree_from_pointcloud_get(), blender::ed::pointcloud::copy_selection(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), blender::geometry::debug_randomize_point_order(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), blender::geometry::execute_realize_pointcloud_task(), blender::geometry::extract_pointcloud_points(), blender::geometry::gather_realize_tasks_recursive(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), blender::geometry::get_final_points_num(), blender::bke::get_pointcloud_accessor_functions(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_pointcloud(), pointcloud_blend_read_data(), blender::bke::pointcloud_convert_customdata_to_storage(), blender::draw::pointcloud_extract_attribute(), blender::draw::pointcloud_extract_indices(), blender::nodes::node_geo_merge_by_distance_cc::pointcloud_merge_by_distance(), blender::bke::pointcloud_new_no_attributes(), blender::draw::pointcloud_sub_pass_setup_implementation(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::io::usd::USDPointInstancerReader::read_geometry(), blender::io::usd::USDPointsReader::read_geometry(), blender::geometry::reorder_points(), blender::nodes::node_geo_sample_nearest_cc::SampleNearestFunction::SampleNearestFunction(), blender::geometry::seed_from_pointcloud(), blender::geometry::separate_pointcloud_selection(), blender::bke::bake::serialize_geometry_set(), stats_object_edit(), and blender::ed::geometry::store_result_geometry().