Blender V4.5
Geometry Class Referenceabstract

#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
 
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 &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 NodeOwnerget_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< 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
 

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 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 70 of file scene/geometry.h.

Member Enumeration Documentation

◆ Type

Enumerator
MESH 
HAIR 
VOLUME 
POINTCLOUD 
LIGHT 

Definition at line 74 of file scene/geometry.h.

Constructor & Destructor Documentation

◆ Geometry()

◆ ~Geometry()

Geometry::~Geometry ( )
override

Definition at line 67 of file scene/geometry.cpp.

References Node::dereference_all_used_nodes().

Member Function Documentation

◆ apply_transform()

virtual void Geometry::apply_transform ( const Transform & tfm,
const bool apply_to_motion )
pure virtual

Implemented in Hair, Light, Mesh, and PointCloud.

◆ clear()

◆ compute_bounds()

virtual void Geometry::compute_bounds ( )
pure virtual

Implemented in Hair, Light, Mesh, and PointCloud.

Referenced by compute_bvh().

◆ compute_bvh()

◆ get_uv_tiles()

virtual void Geometry::get_uv_tiles ( ustring map,
unordered_set< int > & tiles )
pure virtual

Implemented in Hair, Light, Mesh, and PointCloud.

◆ has_motion_blur()

bool Geometry::has_motion_blur ( ) const
virtual

◆ has_true_displacement()

bool Geometry::has_true_displacement ( ) const

◆ has_voxel_attributes()

bool Geometry::has_voxel_attributes ( ) const

Definition at line 72 of file geometry_attributes.cpp.

References ATTR_ELEMENT_VOXEL, AttributeSet::attributes, and attributes.

◆ is_hair()

◆ is_instanced()

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().

◆ is_light()

bool Geometry::is_light ( ) const
inline

Definition at line 190 of file scene/geometry.h.

References geometry_type, and LIGHT.

Referenced by Scene::update_kernel_features().

◆ is_mesh()

◆ is_pointcloud()

◆ is_volume()

◆ motion_step()

int Geometry::motion_step ( const float time) const

◆ motion_time()

float Geometry::motion_time ( const int step) const

Definition at line 84 of file scene/geometry.cpp.

References step.

Referenced by motion_step().

◆ need_attribute() [1/2]

◆ need_attribute() [2/2]

bool Geometry::need_attribute ( Scene * scene,
ustring name )

◆ need_build_bvh()

◆ needed_attributes()

AttributeRequestSet Geometry::needed_attributes ( )

Definition at line 60 of file geometry_attributes.cpp.

References Shader::attributes, node, and result.

◆ primitive_type()

virtual PrimitiveType Geometry::primitive_type ( ) const
pure virtual

◆ tag_update()

Member Data Documentation

◆ attr_map_offset

size_t Geometry::attr_map_offset

◆ attributes

AttributeSet Geometry::attributes

Definition at line 85 of file scene/geometry.h.

Referenced by blender::ed::sculpt_paint::color::active_color_attribute(), blender::ed::sculpt_paint::face_set::active_face_set_get(), blender::bke::adapt_mesh_attribute_domain(), blender::geometry::MeshNormalInfo::add_mesh(), BVHBuild::add_reference_curves(), BVHBuild::add_reference_points(), BVHBuild::add_reference_triangles(), Mesh::add_undisplaced(), Mesh::add_vertex_normals(), blender::ed::sculpt_paint::expand::any_nonzero_mask(), 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(), blender::bke::GeometryFieldContext::attributes(), blender::ed::sculpt_paint::average_mask_border_position(), BKE_color_attribute_supported(), BKE_keyblock_mesh_calc_normals(), BKE_mesh_calc_loop_tangent_single(), BKE_mesh_calc_loop_tangents(), BKE_mesh_has_custom_loop_normals(), BKE_mesh_legacy_bevel_weight_to_generic(), BKE_mesh_legacy_crease_to_generic(), BKE_mesh_legacy_face_set_to_generic(), BKE_mesh_material_index_used(), BKE_mesh_mselect_validate(), BKE_mesh_to_pointcloud(), BKE_sculpt_sync_face_visibility_to_grids(), BKE_shrinkwrap_init_tree(), BKE_subsurf_modifier_use_custom_loop_normals(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), BM_mesh_bm_from_me(), blender::ed::sculpt_paint::expand::boundary_from_enabled(), blender::draw::build_edit_selection_indices(), blender::bke::build_mesh_positions(), build_poly_connections(), blender::ed::spreadsheet::MeshDomainViewItem::build_row(), blender::ed::sculpt_paint::calc_area_center(), blender::ed::sculpt_paint::calc_area_normal(), blender::ed::sculpt_paint::calc_area_normal_and_center(), blender::ed::sculpt_paint::pose::calc_average_face_set_center(), blender::ed::sculpt_paint::auto_mask::calc_blurred_cavity_mesh(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::io::obj::OBJMesh::calc_face_order(), 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::sculpt_paint::filter::calc_inflate_filter(), blender::draw::pbvh::calc_material_indices(), 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(), blender::io::obj::OBJMesh::calc_smooth_groups(), blender::ed::sculpt_paint::islands::calc_topology_islands_mesh(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), calculate_average_color(), calculate_average_weight(), blender::ed::sculpt_paint::face_set::change_visibility_exec(), blender::ed::sculpt_paint::face_set::check_single_face_set(), Hair::clear(), Mesh::clear(), PointCloud::clear(), collect_vertex_counts_per_poly(), 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(), GeometryExporter::create_mesh_primitive_list(), GeometryExporter::create_normals(), blender::ed::sculpt_paint::face_set::create_op_exec(), GeometryManager::create_volume_mesh(), blender::ed::sculpt_paint::cursor_geometry_info_update(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), blender::ed::sculpt_paint::boundary::data_init_mesh(), blender::ed::sculpt_paint::face_set::delete_geometry(), GeometryManager::device_update_attributes(), ObjectManager::device_update_object_transform(), GeometryManager::displace(), do_vpaint_brush_blur_loops(), do_vpaint_brush_blur_verts(), do_vpaint_brush_smear(), do_wpaint_brush_blur(), do_wpaint_brush_draw(), do_wpaint_brush_smear(), blender::draw::draw_subdiv_cache_ensure_mat_offsets(), blender::draw::draw_subdiv_create_requested_buffers(), blender::draw::DRW_pointcloud_evaluated_attribute(), blender::ed::sculpt_paint::face_set::duplicate_face_sets(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::ed::sculpt_paint::mask::duplicate_mask(), blender::ed::pointcloud::duplicate_points(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud(), ED_mesh_pick_vert(), ED_mesh_split_faces(), 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::face_set::edit_fairing(), blender::ed::sculpt_paint::face_set::edit_grow_shrink(), blender::ed::sculpt_paint::face_set::edit_is_operation_valid(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), envelope_bone_weighting(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::ed::sculpt_paint::DensityAddOperationExecutor::execute(), blender::ed::sculpt_paint::flood_fill::FillDataMesh::execute(), blender::ed::sculpt_paint::SlideOperationExecutor::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_uv_stretch_angle_mesh(), blender::ed::sculpt_paint::expand::face_sets_update(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::fill_mesh_face_or_corner_attribute(), blender::ed::sculpt_paint::face_set::find_next_available_id(), blender::ed::sculpt_paint::find_symm_verts_mesh(), blender::bke::pbvh::Tree::from_grids(), blender::bke::pbvh::Tree::from_mesh(), blender::geometry::gather_vert_attributes(), blender::io::ply::generate_vertex_map(), blender::ed::sculpt_paint::expand::geodesic_falloff_create(), blender::ed::geometry::geometry_color_attribute_convert_invoke(), blender::ed::geometry::geometry_color_attribute_convert_poll(), blender::ed::sculpt_paint::geometry_preview_lines_update(), 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(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), 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_edge_paths_to_selection_cc::PathToEdgeSelectionFieldInput::get_varray_for_context(), blender::nodes::node_geo_edges_to_face_groups_cc::FaceSetFromBoundariesInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_neighbors_cc::EdgeNeighborCountFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsCostFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsNextVertFieldInput::get_varray_for_context(), blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput::get_varray_for_context(), blender::io::alembic::get_vert_creases(), blender::io::usd::get_vert_creases(), blender::ed::transform::gizmo_3d_foreach_selected(), blender::ed::sculpt_paint::pose::grow_pose_factor(), blender::ed::pointcloud::has_anything_selected(), has_motion_blur(), Mesh::has_motion_blur(), has_voxel_attributes(), heat_bone_weighting(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_fk_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_fk_mesh(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_mesh(), blender::ed::sculpt_paint::pose::ik_chain_init_topology(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_grids(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_mesh(), blender::ed::sculpt_paint::boundary::init_boundary_mesh(), blender::ed::sculpt_paint::auto_mask::init_face_sets_masking(), blender::ed::sculpt_paint::face_set::init_flood_fill(), blender::nodes::node_geo_proximity_cc::ProximityFunction::init_for_mesh(), blender::ed::sculpt_paint::expand::init_from_face_set_boundary(), blender::ed::sculpt_paint::face_set::init_op_exec(), blender::ed::sculpt_paint::init_sculpt_mode_session(), blender::bke::subdiv::init_user_data(), Freestyle::BlenderFileLoader::insertShapeNode(), lineart_geometry_object_load(), blender::io::ply::load_custom_attributes(), blender::io::ply::load_plydata(), blender::bke::loose_edges_no_hidden_mask_get(), blender::bke::loose_verts_no_hidden_mask_get(), blender::ed::sculpt_paint::mask::mask_by_color_contiguous_mesh(), blender::ed::sculpt_paint::mask::mask_by_color_full_mesh(), 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::bke::mesh_custom_normals_to_generic(), blender::ed::object::mesh_data_to_grease_pencil(), blender::geometry::mesh_faces_to_curves_convert(), mesh_merge_transform(), blender::bke::mesh_normals_varray(), blender::bke::mesh_remesh_reproject_attributes(), blender::bke::mesh_remove_invalid_attribute_strings(), blender::bke::mesh_sculpt_mask_to_generic(), blender::draw::overlay::Sculpts::mesh_sync(), blender::geometry::mesh_triangulate(), blender::ed::sculpt_paint::MeshAttributeData::MeshAttributeData(), blender::bke::MeshFieldContext::MeshFieldContext(), meshobject_foreachScreenVert(), blender::ed::geometry::MeshState::MeshState(), blender::bke::MeshTopologyState::MeshTopologyState(), mikk_compute_tangents(), MOD_get_texture_coords(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), move_face_map_data_to_attributes(), move_shapekey_layers_to_keyblocks(), multires_reshape_context_create_from_object(), multires_reshape_context_create_from_subdiv(), blender::ed::object::multiresbake_check(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), blender::nodes::node_geo_scale_elements_cc::node_geo_exec(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::draw::overlay::AttributeTexts::object_sync(), blender::io::obj::OBJMesh::OBJMesh(), Mesh::pack_normals(), paint_mask_extract_exec(), paint_mask_slice_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(), pointdensity_cache_vertex_color(), blender::geometry::preprocess_meshes(), blender::geometry::preprocess_pointclouds(), blender::nodes::node_geo_distribute_points_on_faces_cc::propagate_existing_attributes(), blender::ed::sculpt_paint::face_set::randomize_colors_exec(), RE_bake_pixels_populate(), RE_generate_texturemargin_adjacentfaces(), read_shader_output(), BVH2::refit_primitives(), blender::ed::pointcloud::remove_selection(), PointCloud::reserve(), Hair::reserve_curves(), Mesh::reserve_mesh(), PointCloud::resize(), Hair::resize_curves(), Mesh::resize_mesh(), blender::ed::pointcloud::retrieve_selected_points(), blender::bke::MeshTopologyState::same_topology_as(), blender::ed::sculpt_paint::dyntopo::sample_detail_voxel(), blender::ed::sculpt_paint::undo::save_active_attribute(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), 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::ed::pointcloud::set_attribute_ui(), blender::nodes::node_geo_set_shade_smooth_cc::set_sharp(), SubdAttributeInterpolation::setup(), blender::ed::curves::snap_curves_to_surface::snap_curves_to_surface_exec_object(), blender::ed::sculpt_paint::undo::store_face_sets(), blender::ed::sculpt_paint::undo::store_face_visibility(), blender::ed::sculpt_paint::undo::store_mask_mesh(), blender::ed::sculpt_paint::store_mesh_from_eval(), blender::ed::sculpt_paint::undo::store_vert_visibility_mesh(), blender::ed::sculpt_paint::stroke_get_location_bvh_ex(), sync_smoke_volume(), sync_volume_object(), blender::ed::sculpt_paint::topology_matches(), blender::ed::sculpt_paint::expand::update_for_vert(), Mesh::update_generated(), blender::bke::pbvh::update_mask_mesh(), blender::draw::pbvh::update_normals_mesh(), blender::bke::pbvh::pixels::update_pixels(), Hair::update_shadow_transparency(), Mesh::update_tangents(), blender::bke::pbvh::update_visibility_faces(), blender::draw::use_normals_simplify(), vertex_paint_from_weight(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_copy_active_to_sel(), blender::ed::object::vgroup_copy_active_to_sel_single(), blender::ed::object::vgroup_mirror(), blender::ed::object::vgroup_parray_alloc(), blender::ed::object::vgroup_smooth_subset(), blender::ed::object::voxel_remesh_exec(), vpaint_do_draw(), vpaint_init_vpaint(), vpaint_stroke_test_start(), weight_paint_set(), blender::io::obj::OBJWriter::write_face_elements(), blender::io::obj::OBJWriter::write_vertex_coords(), and xml_read_mesh().

◆ bounds

◆ bvh

unique_ptr<BVH> Geometry::bvh

Definition at line 104 of file scene/geometry.h.

Referenced by BKE_shrinkwrap_init_tree(), compute_bvh(), and BVH2::pack_instances().

◆ geometry_type

Type Geometry::geometry_type

Definition at line 82 of file scene/geometry.h.

Referenced by is_hair(), is_light(), is_mesh(), is_pointcloud(), and is_volume().

◆ has_surface_bssrdf

bool Geometry::has_surface_bssrdf

◆ has_volume

bool Geometry::has_volume

Definition at line 109 of file scene/geometry.h.

Referenced by Object::compute_volume_step_size(), and Geometry().

◆ index

size_t Geometry::index

◆ MAX_MOTION_STEPS

const uint Geometry::MAX_MOTION_STEPS = 129
static

Definition at line 101 of file scene/geometry.h.

◆ need_update_bvh_for_offset

bool Geometry::need_update_bvh_for_offset

Definition at line 114 of file scene/geometry.h.

Referenced by compute_bvh(), and Geometry().

◆ need_update_rebuild

bool Geometry::need_update_rebuild

◆ prim_offset

◆ transform_applied

◆ transform_negative_scaled

bool Geometry::transform_negative_scaled

◆ transform_normal

Transform Geometry::transform_normal

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

Referenced by Mesh::apply_transform(), clear(), Geometry(), and Mesh::pack_normals().


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