Blender
V3.3
|
#include <BKE_geometry_set.hh>
Public Member Functions | |
GeometryComponentEditData () | |
GeometryComponent * | copy () const final |
bool | owns_direct_data () const final |
void | ensure_owns_direct_data () final |
![]() | |
virtual | ~GeometryComponent ()=default |
GeometryComponent (GeometryComponentType type) | |
int | attribute_domain_size (eAttrDomain domain) const |
virtual std::optional< blender::bke::AttributeAccessor > | attributes () const |
virtual std::optional< blender::bke::MutableAttributeAccessor > | attributes_for_write () |
void | user_add () const |
void | user_remove () const |
bool | is_mutable () const |
GeometryComponentType | type () const |
virtual bool | is_empty () const |
Static Public Member Functions | |
static void | remember_deformed_curve_positions_if_necessary (GeometrySet &geometry) |
![]() | |
static GeometryComponent * | create (GeometryComponentType component_type) |
Public Attributes | |
std::unique_ptr< blender::bke::CurvesEditHints > | curves_edit_hints_ |
Static Public Attributes | |
static constexpr GeometryComponentType | static_type = GEO_COMPONENT_TYPE_EDIT |
When the original data is in some edit mode, we want to propagate some additional information through object evaluation. This information can be used by edit modes to support working on evaluated data.
This component is added at the beginning of modifier evaluation.
Definition at line 851 of file BKE_geometry_set.hh.
GeometryComponentEditData::GeometryComponentEditData | ( | ) |
Definition at line 9 of file geometry_component_edit_data.cc.
Referenced by copy().
|
finalvirtual |
Implements GeometryComponent.
Definition at line 13 of file geometry_component_edit_data.cc.
References curves_edit_hints_, and GeometryComponentEditData().
|
finalvirtual |
Implements GeometryComponent.
Definition at line 27 of file geometry_component_edit_data.cc.
|
finalvirtual |
Implements GeometryComponent.
Definition at line 22 of file geometry_component_edit_data.cc.
|
static |
The first node that does topology changing operations on curves should store the curve point positions it retrieved as input. Without this, information about the deformed positions is lost, which would make curves sculpt mode fall back to using original curve positions instead of deformed ones.
Definition at line 32 of file geometry_component_edit_data.cc.
References curves, curves_edit_hints_, Curves::geometry, GeometrySet::get_component_for_write(), GeometrySet::get_curves_for_read(), GeometrySet::has(), and blender::bke::image::partial_update::wrap().
Referenced by blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_curve_to_mesh_cc::geometry_set_curve_to_mesh(), blender::nodes::node_geo_curve_resample_cc::node_geo_exec(), blender::nodes::node_geo_curve_subdivide_cc::node_geo_exec(), blender::nodes::node_geo_curve_to_points_cc::node_geo_exec(), and blender::nodes::node_geo_curve_trim_cc::node_geo_exec().
std::unique_ptr<blender::bke::CurvesEditHints> GeometryComponentEditData::curves_edit_hints_ |
Information about how original curves are manipulated during evaluation. This data is used so that curve sculpt tools can work on evaluated data. It is not stored in CurveComponent because the data remains valid even when there is no actual curves geometry anymore, for example, when the curves have been converted to a mesh.
Definition at line 859 of file BKE_geometry_set.hh.
Referenced by BKE_curves_data_update(), copy(), blender::bke::crazyspace::get_evaluated_curves_deformation(), and remember_deformed_curve_positions_if_necessary().
|
inlinestaticconstexpr |
Definition at line 875 of file BKE_geometry_set.hh.