|
Blender V4.3
|
#include <DNA_curves_types.h>
Inherited by blender::bke::CurvesGeometry.
A reusable data structure for geometry consisting of many curves. All control point data is stored contiguously for better efficiency when there are many curves. Multiple curve types are supported, as described in CurveType. Data for each curve is accessed by slicing the main point_data arrays.
The data structure is meant to separate geometry data storage and processing from Blender focused ID data-block handling. The struct can also be embedded to allow reusing it.
Definition at line 102 of file DNA_curves_types.h.
| int CurvesGeometry::attributes_active_index |
Set to -1 when none is active.
Definition at line 147 of file DNA_curves_types.h.
Referenced by BKE_attributes_active_index_p(), blender::bke::CurvesGeometry::CurvesGeometry(), and blender::bke::CurvesGeometry::CurvesGeometry().
| CustomData CurvesGeometry::curve_data |
All attributes stored on curves (#AttrDomain::Curve).
Definition at line 128 of file DNA_curves_types.h.
Referenced by convert_grease_pencil_stroke_hardness_to_softness(), blender::bke::curves::copy_only_curve_domain(), blender::bke::create_attribute_providers_for_curve(), blender::draw::curves_sub_pass_setup_implementation(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::draw::DRW_shgroup_curves_create_sub(), get_domains(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| int CurvesGeometry::curve_num |
The number of curves.
Definition at line 137 of file DNA_curves_types.h.
Referenced by convert_grease_pencil_stroke_hardness_to_softness(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::geometry::execute_realize_curve_tasks(), get_domains(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::modify_drawing(), blender::nodes::node_geo_interpolate_curves_cc::node_geo_exec(), blender::bke::CurvesGeometry::points_by_curve(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| int* CurvesGeometry::curve_offsets |
The start index of each curve in the point data. The size of each curve can be calculated by subtracting the offset from the next offset. That is valid even for the last curve because this array is allocated with a length one larger than the number of curves. This is allowed to be null when there are no curves.
Every curve offset must be at least one larger than the previous. In other words, every curve must have at least one point. The first value is 0 and the last value is point_num.
This array is shared based on the bke::CurvesGeometryRuntime::curve_offsets_sharing_info. Avoid accessing directly when possible.
Definition at line 117 of file DNA_curves_types.h.
Referenced by blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::points_by_curve(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| CustomData CurvesGeometry::point_data |
All attributes stored on control points (#AttrDomain::Point). This might not contain a layer for positions if there are no points.
Definition at line 123 of file DNA_curves_types.h.
Referenced by blender::bke::create_attribute_providers_for_curve(), blender::draw::curves_sub_pass_setup_implementation(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::draw::DRW_shgroup_curves_create_sub(), get_domains(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| int CurvesGeometry::point_num |
The total number of control points in all curves.
Definition at line 133 of file DNA_curves_types.h.
Referenced by blender::create_envelope_strokes(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::geometry::execute_realize_curve_tasks(), get_domains(), blender::bke::CurvesEditHints::is_valid(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), blender::bke::CurvesGeometry::points_num(), blender::bke::remember_deformed_curve_positions_if_necessary(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| CurvesGeometryRuntimeHandle* CurvesGeometry::runtime |
Runtime data for curves, stored as a pointer to allow defining this as a C++ class.
Definition at line 152 of file DNA_curves_types.h.
Referenced by blender::bke::CurvesGeometry::bezier_evaluated_offsets_for_curve(), blender::bke::curves::copy_only_curve_domain(), blender::bke::CurvesGeometry::curve_type_counts(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::greasepencil::Drawing::Drawing(), blender::bke::CurvesGeometry::evaluated_lengths_for_curve(), blender::bke::CurvesGeometry::fill_curve_types(), and blender::bke::CurvesGeometry::~CurvesGeometry().
| int CurvesGeometry::vertex_group_active_index |
The active index in the vertex_group_names list.
Definition at line 144 of file DNA_curves_types.h.
Referenced by blender::bke::CurvesGeometry::CurvesGeometry(), and blender::bke::CurvesGeometry::CurvesGeometry().
| ListBase CurvesGeometry::vertex_group_names |
List of vertex group (bDeformGroup) names and flags only.
Definition at line 142 of file DNA_curves_types.h.
Referenced by blender::bke::curves_copy_curve_selection(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::ed::greasepencil::remap_vertex_groups(), blender::ed::greasepencil::remove_points_and_split(), blender::ed::greasepencil::weight_sample_invoke(), and blender::bke::CurvesGeometry::~CurvesGeometry().