|
Blender V5.0
|
#include <geometry.h>
Inherits Node.
Inherited by Hair, Light, Mesh, and PointCloud.
Public Types | |
| enum | Type { MESH , HAIR , VOLUME , POINTCLOUD , LIGHT } |
Public Member Functions | |
| Geometry (const NodeType *node_type, const Type type) | |
| ~Geometry () override | |
| virtual void | clear (bool preserve_shaders=false) |
| virtual void | compute_bounds ()=0 |
| virtual void | apply_transform (const Transform &tfm, const bool apply_to_motion)=0 |
| bool | need_attribute (Scene *scene, AttributeStandard std) |
| bool | need_attribute (Scene *scene, ustring name) |
| AttributeRequestSet | needed_attributes () |
| virtual void | get_uv_tiles (ustring map, unordered_set< int > &tiles)=0 |
| 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) |
| virtual PrimitiveType | primitive_type () const =0 |
| 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 | |
| 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 |
Static Public Attributes | |
| static const uint | MAX_MOTION_STEPS = 129 |
Additional Inherited Members | |
| 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 70 of file scene/geometry.h.
| enum Geometry::Type |
| Enumerator | |
|---|---|
| MESH | |
| HAIR | |
| VOLUME | |
| POINTCLOUD | |
| LIGHT | |
Definition at line 74 of file scene/geometry.h.
Definition at line 49 of file scene/geometry.cpp.
References attr_map_offset, ATTR_PRIM_GEOMETRY, attributes, bounds, BoundBox::empty, geometry_type, has_surface_bssrdf, has_volume, need_update_bvh_for_offset, need_update_rebuild, Node::Node(), prim_offset, transform_applied, transform_identity(), transform_negative_scaled, transform_normal, and Node::type.
Referenced by Hair::Hair(), Light::Light(), Mesh::Mesh(), Mesh::Mesh(), PointCloud::PointCloud(), and Volume::Volume().
|
override |
Definition at line 67 of file scene/geometry.cpp.
References Node::dereference_all_used_nodes().
|
pure virtual |
Implemented in Hair, Light, Mesh, and PointCloud.
References apply_transform(), Node::name, need_attribute(), and needed_attributes().
Referenced by apply_transform().
|
virtual |
Reimplemented in Hair, Mesh, PointCloud, and Volume.
Definition at line 72 of file scene/geometry.cpp.
References Node::tag_modified(), transform_applied, transform_identity(), transform_negative_scaled, and transform_normal.
Referenced by Hair::clear(), Mesh::clear(), PointCloud::clear(), Mesh::clear_non_sockets(), and PointCloud::clear_non_sockets().
|
pure virtual |
Implemented in Hair, Light, Mesh, and PointCloud.
References compute_bounds().
Referenced by compute_bounds(), and compute_bvh().
| CCL_NAMESPACE_BEGIN void Geometry::compute_bvh | ( | Device * | device, |
| DeviceScene * | dscene, | ||
| SceneParams * | params, | ||
| Progress * | progress, | ||
| const size_t | n, | ||
| size_t | total ) |
Definition at line 26 of file geometry_bvh.cpp.
References BVHParams::best_bvh_layout(), Device::build_bvh(), bvh, BVHParams::bvh_layout, BVHParams::bvh_type, BVH_TYPE_DYNAMIC, compute_bounds(), BVH::create(), BVHParams::curve_subdivisions, DeviceScene::data, Device::get_bvh_layout_mask(), Progress::get_cancel(), MEM_GUARDED_CALL, Node::name, need_build_bvh(), need_update_bvh_for_offset, need_update_rebuild, BVHParams::num_motion_curve_steps, BVHParams::num_motion_point_steps, BVHParams::num_motion_triangle_steps, params, Progress::set_status(), string_printf(), BVHParams::use_compact_structure, BVHParams::use_spatial_split, and BVHParams::use_unaligned_nodes.
Referenced by get_uv_tiles().
|
pure virtual |
Implemented in Hair, Light, Mesh, and PointCloud.
References compute_bvh(), get_uv_tiles(), motion_step(), motion_time(), params, step, and tiles.
Referenced by ImageTextureNode::cull_tiles(), and get_uv_tiles().
|
virtual |
Reimplemented in Mesh.
Definition at line 142 of file scene/geometry.cpp.
References ATTR_STD_MOTION_VERTEX_POSITION, and attributes.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_points(), primitive_type(), Hair::primitive_type(), and PointCloud::primitive_type().
| bool Geometry::has_true_displacement | ( | ) | const |
Definition at line 130 of file scene/geometry.cpp.
References DISPLACE_BUMP, Shader::has_displacement, and Node::Node().
Referenced by ObjectManager::apply_static_transforms(), GeometryManager::device_update(), GeometryManager::displace(), and primitive_type().
| bool Geometry::has_voxel_attributes | ( | ) | const |
Definition at line 72 of file geometry_attributes.cpp.
References ATTR_ELEMENT_VOXEL, attributes, and Attribute::element.
Referenced by primitive_type().
|
inline |
Definition at line 175 of file scene/geometry.h.
References geometry_type, and HAIR.
Referenced by AttributeTableBuilder::add(), BVHBuild::add_reference_geometry(), ObjectManager::apply_static_transforms(), count_primitives(), Scene::delete_node(), GeometryManager::device_update(), GeometryManager::device_update_attributes(), GeometryManager::device_update_displacement_images(), GeometryManager::device_update_mesh(), ObjectManager::device_update_object_transform(), GeometryManager::device_update_preprocess(), Attribute::element_size(), GeometryManager::geom_calc_offset(), object_num_motion_verts(), BVHSpatialSplit::split_object_reference(), and Scene::update_kernel_features().
| bool Geometry::is_instanced | ( | ) | const |
Definition at line 120 of file scene/geometry.cpp.
References has_surface_bssrdf, and transform_applied.
Referenced by need_build_bvh(), and primitive_type().
|
inline |
Definition at line 190 of file scene/geometry.h.
References geometry_type, and LIGHT.
Referenced by Scene::update_kernel_features().
|
inline |
Definition at line 170 of file scene/geometry.h.
References geometry_type, is_mesh(), and MESH.
Referenced by AttributeTableBuilder::add(), BVHBuild::add_reference_geometry(), ObjectManager::apply_static_transforms(), count_primitives(), BakeManager::device_update(), GeometryManager::device_update(), GeometryManager::device_update_mesh(), ObjectManager::device_update_object_transform(), GeometryManager::device_update_preprocess(), Attribute::element_size(), GeometryManager::geom_calc_offset(), is_mesh(), object_num_motion_verts(), BVHSpatialSplit::split_object_reference(), BlenderSync::sync_recalc(), Scene::update_kernel_features(), and Object::usable_as_light().
|
inline |
Definition at line 180 of file scene/geometry.h.
References geometry_type, and POINTCLOUD.
Referenced by AttributeTableBuilder::add(), BVHBuild::add_reference_geometry(), ObjectManager::apply_static_transforms(), count_primitives(), GeometryManager::device_update_mesh(), ObjectManager::device_update_object_transform(), GeometryManager::device_update_preprocess(), Attribute::element_size(), GeometryManager::geom_calc_offset(), object_num_motion_verts(), BVHSpatialSplit::split_object_reference(), and Scene::update_kernel_features().
|
inline |
Definition at line 185 of file scene/geometry.h.
References geometry_type, and VOLUME.
Referenced by BVHBuild::add_reference_geometry(), count_primitives(), GeometryManager::device_update(), GeometryManager::device_update_mesh(), ObjectManager::device_update_object_transform(), GeometryManager::device_update_preprocess(), Attribute::element_size(), GeometryManager::geom_calc_offset(), object_num_motion_verts(), object_volume_density(), BVHSpatialSplit::split_object_reference(), and Object::usable_as_light().
| int Geometry::motion_step | ( | const float | time | ) | const |
Definition at line 89 of file scene/geometry.cpp.
References motion_time(), and step.
Referenced by Hair::copy_center_to_motion_step(), Mesh::copy_center_to_motion_step(), PointCloud::copy_center_to_motion_step(), get_uv_tiles(), Mesh::ObjectManager, Hair::~Hair(), and PointCloud::~PointCloud().
| float Geometry::motion_time | ( | const int | step | ) | const |
Definition at line 84 of file scene/geometry.cpp.
References step.
Referenced by get_uv_tiles(), and motion_step().
| CCL_NAMESPACE_BEGIN bool Geometry::need_attribute | ( | Scene * | scene, |
| AttributeStandard | std ) |
Definition at line 24 of file geometry_attributes.cpp.
References ATTR_STD_NONE, Shader::attributes, AttributeRequestSet::find(), Scene::need_global_attribute(), and Node::Node().
Referenced by Mesh::add_undisplaced(), apply_transform(), attr_create_generic(), attr_create_generic(), attr_create_random_per_island(), attr_create_subd_uv_map(), attr_create_uv_map(), create_mesh(), export_hair_curves(), export_pointcloud(), ExportCurveSegments(), sync_smoke_volume(), sync_volume_object(), Mesh::update_generated(), Mesh::update_tangents(), and xml_read_mesh().
| bool Geometry::need_attribute | ( | Scene * | scene, |
| ustring | name ) |
Definition at line 44 of file geometry_attributes.cpp.
References Shader::attributes, AttributeRequestSet::find(), Node::name, and Node::Node().
| bool Geometry::need_build_bvh | ( | BVHLayout | layout | ) | const |
Definition at line 110 of file scene/geometry.cpp.
References BVH_LAYOUT_EMBREEGPU, BVH_LAYOUT_HIPRT, BVH_LAYOUT_METAL, BVH_LAYOUT_MULTI_EMBREEGPU, BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE, BVH_LAYOUT_MULTI_HIPRT, BVH_LAYOUT_MULTI_HIPRT_EMBREE, BVH_LAYOUT_MULTI_METAL, BVH_LAYOUT_MULTI_METAL_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_OPTIX, and is_instanced().
Referenced by compute_bvh(), BVH2::pack_instances(), and primitive_type().
| AttributeRequestSet Geometry::needed_attributes | ( | ) |
Definition at line 60 of file geometry_attributes.cpp.
References Shader::attributes, Node::Node(), and result.
Referenced by apply_transform().
|
pure virtual |
Implemented in Hair, Light, Mesh, and PointCloud.
References has_motion_blur(), has_true_displacement(), has_voxel_attributes(), is_instanced(), need_build_bvh(), and primitive_type().
Referenced by ObjectManager::device_update_object_transform(), and primitive_type().
| void Geometry::tag_update | ( | Scene * | scene, |
| bool | rebuild ) |
Definition at line 147 of file scene/geometry.cpp.
References Shader::emission_sampling, EMISSION_SAMPLING_NONE, LightManager::EMISSIVE_MESH_MODIFIED, Scene::geometry_manager, GeometryManager::GEOMETRY_MODIFIED, Scene::light_manager, LightManager::MESH_NEED_REBUILD, need_update_rebuild, and Node::Node().
| size_t Geometry::attr_map_offset |
Definition at line 105 of file scene/geometry.h.
Referenced by ObjectManager::device_update_geom_offsets(), Geometry(), and GeometryManager::update_svm_attributes().
| AttributeSet Geometry::attributes |
Definition at line 85 of file scene/geometry.h.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_points(), BVHBuild::add_reference_triangles(), Mesh::add_undisplaced(), Mesh::add_vertex_normals(), Hair::apply_transform(), Mesh::apply_transform(), PointCloud::apply_transform(), attr_create_generic(), attr_create_generic(), attr_create_motion_from_velocity(), attr_create_motion_from_velocity(), attr_create_motion_from_velocity(), attr_create_pointiness(), attr_create_random_per_island(), attr_create_uv_map(), BKE_mesh_remap_calc_loops_from_mesh(), BKE_mesh_to_pointcloud(), BM_mesh_bm_from_me(), blender::draw::build_edit_selection_indices(), build_poly_connections(), blender::nodes::node_geo_distribute_points_on_faces_cc::calc_full_density_factors_with_selection(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::spreadsheet::calc_mesh_selection_mask(), blender::ed::spreadsheet::calc_mesh_selection_mask_faces(), blender::ed::sculpt_paint::filter::calc_relax_face_sets_filter(), blender::ed::sculpt_paint::filter::calc_relax_filter(), Hair::clear(), Mesh::clear(), PointCloud::clear(), blender::bke::compare_geometry::compare_meshes(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), Object::compute_volume_step_size(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::construct_edge_positions_gvarray(), blender::nodes::node_geo_input_mesh_face_area_cc::construct_face_area_varray(), blender::nodes::node_geo_uv_pack_islands_cc::construct_uv_gvarray(), blender::nodes::node_geo_uv_unwrap_cc::construct_uv_gvarray(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::construct_vertex_count_varray(), blender::geometry::copy_and_reorder_mesh_edges(), blender::geometry::copy_and_reorder_mesh_faces(), blender::geometry::copy_and_reorder_mesh_verts(), blender::geometry::copy_and_reorder_points(), copy_attributes(), Hair::copy_center_to_motion_step(), Mesh::copy_center_to_motion_step(), PointCloud::copy_center_to_motion_step(), blender::ed::pointcloud::copy_selection(), create_mesh(), GeometryManager::create_volume_mesh(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), GeometryManager::device_update_attributes(), ObjectManager::device_update_object_transform(), GeometryManager::device_update_preprocess(), GeometryManager::device_update_volume_images(), GeometryManager::displace(), blender::draw::draw_subdiv_cache_ensure_mat_offsets(), blender::draw::draw_subdiv_create_requested_buffers(), blender::draw::DRW_pointcloud_evaluated_attribute(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), ED_mesh_pick_vert(), blender::nodes::node_geo_edge_paths_to_curves_cc::edge_paths_to_curves_convert(), EdgeDice::EdgeDice(), blender::geometry::edges_to_curves_convert(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::ensure_curve_attribute(), envelope_bone_weighting(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), export_hair_curves(), export_hair_curves_motion(), export_hair_motion_validate_attribute(), export_pointcloud(), export_pointcloud_motion(), ExportCurveSegments(), ExportCurveSegmentsMotion(), blender::draw::extract_attr_viewer(), blender::draw::extract_attribute(), blender::draw::extract_attribute_subdiv(), blender::draw::extract_face_dots_uv_mesh(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::geometry::extract_pointcloud_points(), blender::draw::extract_sculpt_data_subdiv(), blender::draw::extract_tan_init_common(), blender::draw::extract_uv_stretch_angle_mesh(), blender::bke::pbvh::Tree::from_grids(), blender::geometry::gather_vert_attributes(), blender::io::ply::generate_vertex_map(), Geometry(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), get_corner_boolean_attribute(), blender::io::alembic::get_edge_creases(), blender::io::usd::get_edge_creases(), blender::io::usd::get_loops_polys(), blender::nodes::node_geo_extrude_mesh_cc::get_orig_index_layer(), get_selected_indices(), Hair::get_uv_tiles(), Mesh::get_uv_tiles(), PointCloud::get_uv_tiles(), blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput::get_varray_for_context(), blender::nodes::node_geo_uv_tangent_cc::TangentFieldInput::get_varray_for_context(), blender::io::alembic::get_vert_creases(), blender::io::usd::get_vert_creases(), has_motion_blur(), Mesh::has_motion_blur(), has_voxel_attributes(), heat_bone_weighting(), imapaint_pick_uv(), blender::ed::sculpt_paint::auto_mask::init_face_sets_masking(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh(), blender::ed::sculpt_paint::expand::init_from_face_set_boundary(), Freestyle::BlenderFileLoader::insertShapeNode(), blender::ed::mesh::join_face_sets(), blender::ed::mesh::join_generic_attributes(), blender::ed::mesh::join_materials(), blender::ed::mesh::join_normals(), blender::io::ply::load_custom_attributes(), blender::io::ply::load_plydata(), mesh_attribute_valid(), mesh_calc_tri_tessface(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_edges(), blender::geometry::mesh_copy_selection_keep_verts(), blender::ed::object::mesh_data_to_grease_pencil(), blender::geometry::mesh_faces_to_curves_convert(), mesh_merge_transform(), blender::bke::mesh_remesh_reproject_attributes(), blender::draw::mesh_render_data_create(), blender::draw::overlay::Sculpts::mesh_sync(), blender::geometry::mesh_triangulate(), meshobject_foreachScreenVert(), mikk_compute_tangents(), MOD_get_texture_coords(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), multires_reshape_context_create_from_object(), multires_reshape_context_create_from_subdiv(), multires_unsubdivide_extract_grids(), multires_unsubdivide_prepare_original_bmesh_for_extract(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::draw::overlay::AttributeTexts::object_sync(), Mesh::pack_normals(), paint_mask_extract_exec(), paint_sample_color(), paint_weight_gradient_exec(), paintface_flush_flags(), paintface_minmax(), paintvert_flush_flags(), blender::geometry::point_merge_by_distance(), blender::draw::pointcloud_extract_attribute(), blender::draw::pointcloud_extract_position_and_radius(), blender::draw::pointcloud_surface_shaded_get(), blender::geometry::preprocess_meshes(), blender::geometry::preprocess_pointclouds(), blender::nodes::node_geo_distribute_points_on_faces_cc::propagate_existing_attributes(), RE_bake_pixels_populate(), RE_generate_texturemargin_adjacentfaces(), read_shader_output(), BVH2::refit_primitives(), PointCloud::reserve(), Hair::reserve_curves(), Mesh::reserve_mesh(), PointCloud::resize(), Hair::resize_curves(), Mesh::resize_mesh(), blender::draw::sculpt_batches_get(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::geometry::separate_mesh_selection(), blender::geometry::separate_pointcloud_selection(), blender::bke::bake::serialize_geometry_set(), blender::ed::pointcloud::set_attribute_exec(), blender::ed::pointcloud::set_attribute_invoke(), blender::nodes::node_geo_set_shade_smooth_cc::set_sharp(), blender::ed::curves::snap_curves_to_surface::snap_curves_to_surface_exec_object(), stats_object_edit(), blender::ed::sculpt_paint::store_mesh_from_eval(), sync_smoke_volume(), sync_volume_object(), blender::ed::sculpt_paint::topology_matches(), Mesh::update_generated(), Hair::update_shadow_transparency(), Mesh::update_tangents(), blender::draw::use_normals_simplify(), vertex_paint_from_weight(), weight_paint_set(), blender::io::obj::OBJWriter::write_face_elements(), blender::io::obj::OBJWriter::write_vertex_coords(), and xml_read_mesh().
| BoundBox Geometry::bounds |
Definition at line 91 of file scene/geometry.h.
Referenced by Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Mesh::Triangle::bounds_grow(), PointCloud::Point::bounds_grow(), PointCloud::Point::bounds_grow(), PointCloud::Point::bounds_grow(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), and Geometry().
| unique_ptr<BVH> Geometry::bvh |
Definition at line 104 of file scene/geometry.h.
Referenced by MultiDevice::build_bvh(), compute_bvh(), and BVH2::pack_instances().
| Type Geometry::geometry_type |
Definition at line 82 of file scene/geometry.h.
Referenced by Geometry(), is_hair(), is_light(), is_mesh(), is_pointcloud(), and is_volume().
| bool Geometry::has_surface_bssrdf |
Definition at line 110 of file scene/geometry.h.
Referenced by ObjectManager::apply_static_transforms(), GeometryManager::device_update_preprocess(), Geometry(), and is_instanced().
| bool Geometry::has_volume |
Definition at line 109 of file scene/geometry.h.
Referenced by Object::compute_volume_step_size(), Scene::delete_node(), GeometryManager::device_update_preprocess(), and Geometry().
| size_t Geometry::index |
Definition at line 117 of file scene/geometry.h.
Referenced by GeometryManager::device_update_attributes(), Mesh::get_subd_face(), Mesh::ObjectManager, and Hair::pack_curves().
|
static |
Definition at line 101 of file scene/geometry.h.
| bool Geometry::need_update_bvh_for_offset |
Definition at line 114 of file scene/geometry.h.
Referenced by compute_bvh(), GeometryManager::geom_calc_offset(), and Geometry().
| bool Geometry::need_update_rebuild |
Definition at line 113 of file scene/geometry.h.
Referenced by compute_bvh(), GeometryManager::create_volume_mesh(), GeometryManager::device_update_preprocess(), GeometryManager::geom_calc_offset(), Geometry(), and tag_update().
| size_t Geometry::prim_offset |
Definition at line 106 of file scene/geometry.h.
Referenced by AttributeTableBuilder::add(), BakeManager::device_update(), LightManager::device_update_distribution(), GeometryManager::device_update_mesh(), fill_shader_input(), fill_shader_input(), GeometryManager::geom_calc_offset(), Geometry(), light_tree_leaf_emitters_copy_and_flatten(), Hair::pack_curves(), BVH2::pack_instances(), and BVH2::refit_primitives().
| bool Geometry::transform_applied |
Definition at line 92 of file scene/geometry.h.
Referenced by ObjectManager::apply_static_transforms(), LightTree::build(), clear(), LightManager::device_update_distribution(), Geometry(), is_instanced(), LightTreeEmitter::LightTreeEmitter(), and Mesh::pack_normals().
| bool Geometry::transform_negative_scaled |
Definition at line 93 of file scene/geometry.h.
Referenced by Mesh::add_vertex_normals(), clear(), GeometryManager::displace(), and Geometry().
| Transform Geometry::transform_normal |
Definition at line 94 of file scene/geometry.h.
Referenced by Mesh::apply_transform(), clear(), Geometry(), and Mesh::pack_normals().