Blender
V3.3
|
#include <BKE_geometry_set.hh>
Public Member Functions | |
std::optional< blender::bke::AttributeAccessor > | attributes () const final |
std::optional< blender::bke::MutableAttributeAccessor > | attributes_for_write () final |
Geometry Component Implementation | |
CurveComponent () | |
~CurveComponent () | |
GeometryComponent * | copy () const override |
void | clear () |
bool | has_curves () const |
void | replace (Curves *curve, GeometryOwnershipType ownership=GeometryOwnershipType::Owned) |
Curves * | release () |
const Curves * | get_for_read () const |
Curves * | get_for_write () |
bool | is_empty () const final |
bool | owns_direct_data () const override |
void | ensure_owns_direct_data () override |
const Curve * | get_curve_for_render () const |
![]() | |
virtual | ~GeometryComponent ()=default |
GeometryComponent (GeometryComponentType type) | |
int | attribute_domain_size (eAttrDomain domain) const |
void | user_add () const |
void | user_remove () const |
bool | is_mutable () const |
GeometryComponentType | type () const |
Static Public Attributes | |
static constexpr GeometryComponentType | static_type = GEO_COMPONENT_TYPE_CURVE |
Additional Inherited Members | |
![]() | |
static GeometryComponent * | create (GeometryComponentType component_type) |
A geometry component that stores a group of curves, corresponding the Curves data-block type and the CurvesGeometry type. Attributes are are stored on the control point domain and the curve domain.
Definition at line 511 of file BKE_geometry_set.hh.
CurveComponent::CurveComponent | ( | ) |
Definition at line 23 of file geometry_component_curves.cc.
Referenced by copy().
CurveComponent::~CurveComponent | ( | ) |
Definition at line 27 of file geometry_component_curves.cc.
References clear().
|
finalvirtual |
Get access to the attributes in this geometry component. May return none if the geometry does not support the attribute system.
Reimplemented from GeometryComponent.
Definition at line 633 of file geometry_component_curves.cc.
References blender::bke::get_curves_accessor_functions_ref().
Referenced by blender::geometry::gather_point_attributes_to_interpolate(), and blender::geometry::retrieve_attribute_spans().
|
finalvirtual |
Reimplemented from GeometryComponent.
Definition at line 639 of file geometry_component_curves.cc.
References curves, and blender::bke::get_curves_accessor_functions_ref().
Referenced by curve_eval_to_curves(), and blender::geometry::retrieve_attribute_spans().
void CurveComponent::clear | ( | ) |
Definition at line 42 of file geometry_component_curves.cc.
References BKE_id_free(), BLI_assert, Curve::editfont, Curve::editnurb, GeometryComponent::is_mutable(), and Owned.
Referenced by replace(), and ~CurveComponent().
|
overridevirtual |
Implements GeometryComponent.
Definition at line 32 of file geometry_component_curves.cc.
References BKE_curves_copy_for_eval(), CurveComponent(), and Owned.
|
overridevirtual |
Implements GeometryComponent.
Definition at line 106 of file geometry_component_curves.cc.
References BKE_curves_copy_for_eval(), BLI_assert, GeometryComponent::is_mutable(), and Owned.
const Curve * CurveComponent::get_curve_for_render | ( | ) | const |
Create empty curve data used for rendering the spline's wire edges.
Definition at line 115 of file geometry_component_curves.cc.
References BKE_id_new_nomain(), Curve::curve_eval, ID_CU_LEGACY, and lock.
const Curves * CurveComponent::get_for_read | ( | ) | const |
Definition at line 81 of file geometry_component_curves.cc.
Referenced by blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_curve(), blender::geometry::gather_realize_tasks_recursive(), blender::bke::crazyspace::get_evaluated_curves_deformation(), blender::nodes::node_geo_curve_handle_type_selection_cc::HandleTypeFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_parameter_cc::CurveParameterFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_parameter_cc::CurveLengthParameterFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_parameter_cc::IndexOnSplineFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_type_cc::node_geo_exec(), object_convert_exec(), blender::geometry::resample_to_evaluated(), and blender::geometry::resample_to_uniform().
Curves * CurveComponent::get_for_write | ( | ) |
Definition at line 86 of file geometry_component_curves.cc.
References BKE_curves_copy_for_eval(), BLI_assert, GeometryComponent::is_mutable(), Owned, and ReadOnly.
Referenced by blender::geometry::gather_point_attributes_to_interpolate().
bool CurveComponent::has_curves | ( | ) | const |
Definition at line 60 of file geometry_component_curves.cc.
Referenced by blender::nodes::node_geo_curve_spline_parameter_cc::CurveParameterFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_parameter_cc::CurveLengthParameterFieldInput::get_varray_for_context(), blender::nodes::node_geo_curve_spline_parameter_cc::IndexOnSplineFieldInput::get_varray_for_context(), and blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput::get_varray_for_context().
|
finalvirtual |
Reimplemented from GeometryComponent.
Definition at line 96 of file geometry_component_curves.cc.
|
overridevirtual |
Implements GeometryComponent.
Definition at line 101 of file geometry_component_curves.cc.
References Owned.
Curves * CurveComponent::release | ( | ) |
Definition at line 73 of file geometry_component_curves.cc.
References BLI_assert, curves, and GeometryComponent::is_mutable().
void CurveComponent::replace | ( | Curves * | curve, |
GeometryOwnershipType | ownership = GeometryOwnershipType::Owned |
||
) |
Clear the component and replace it with the new curve.
Definition at line 65 of file geometry_component_curves.cc.
References BLI_assert, clear(), curves, and GeometryComponent::is_mutable().
Referenced by curve_eval_to_curves(), curves_to_curve_eval(), blender::geometry::execute_realize_curve_tasks(), blender::geometry::resample_to_uniform(), and blender::ed::spreadsheet::spreadsheet_get_display_geometry_set().
|
inlinestaticconstexpr |
Definition at line 555 of file BKE_geometry_set.hh.