Blender
V3.3
|
#include <DNA_curves_types.h>
Public Attributes | |
int * | curve_offsets |
CustomData | point_data |
CustomData | curve_data |
int | point_num |
int | curve_num |
CurvesGeometryRuntimeHandle * | runtime |
A reusable data structure for geometry consisting of many curves. All control point data is stored contiguously for better efficiency. Data for each curve is stored as a slice of the main point_data array.
The data structure is meant to be embedded in other data-blocks to allow reusing curve-processing algorithms for multiple Blender data-block types.
Definition at line 68 of file DNA_curves_types.h.
CustomData CurvesGeometry::curve_data |
All attributes stored on curves (ATTR_DOMAIN_CURVE).
Definition at line 91 of file DNA_curves_types.h.
Referenced by blender::bke::copy_curves_geometry(), blender::bke::curves::copy_only_curve_domain(), curves_copy_data(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::move_curves_geometry(), blender::geometry::resample_to_evaluated(), blender::geometry::resample_to_uniform(), and blender::bke::CurvesGeometry::~CurvesGeometry().
int CurvesGeometry::curve_num |
The number of curves in the data-block.
Definition at line 100 of file DNA_curves_types.h.
Referenced by blender::bke::copy_curves_geometry(), curves_batch_cache_fill_segments_proc_pos(), curves_copy_data(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::evaluated_points_for_curves(), blender::geometry::execute_realize_curve_tasks(), blender::bke::move_curves_geometry(), blender::bke::CurvesGeometry::points_for_curve(), blender::bke::CurvesGeometry::points_for_curves(), 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.
Definition at line 80 of file DNA_curves_types.h.
Referenced by blender::bke::copy_curves_geometry(), curves_copy_data(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::move_curves_geometry(), blender::bke::CurvesGeometry::points_for_curve(), blender::bke::CurvesGeometry::points_for_curves(), and blender::bke::CurvesGeometry::~CurvesGeometry().
CustomData CurvesGeometry::point_data |
All attributes stored on control points (ATTR_DOMAIN_POINT). This might not contain a layer for positions if there are no points.
Definition at line 86 of file DNA_curves_types.h.
Referenced by blender::bke::copy_curves_geometry(), curves_copy_data(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::move_curves_geometry(), and blender::bke::CurvesGeometry::~CurvesGeometry().
int CurvesGeometry::point_num |
The total number of control points in all curves.
Definition at line 96 of file DNA_curves_types.h.
Referenced by blender::bke::copy_curves_geometry(), curves_copy_data(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::geometry::execute_realize_curve_tasks(), blender::bke::CurvesEditHints::is_valid(), blender::bke::move_curves_geometry(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), blender::bke::CurvesGeometry::points_num(), blender::nodes::transform_curve_edit_hints(), 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 105 of file DNA_curves_types.h.
Referenced by blender::bke::CurvesGeometry::bezier_evaluated_offsets_for_curve(), blender::bke::copy_curves_geometry(), blender::bke::curves::copy_only_curve_domain(), blender::bke::CurvesGeometry::curve_type_counts(), curves_copy_data(), blender::bke::CurvesGeometry::CurvesGeometry(), blender::bke::CurvesGeometry::evaluated_lengths_for_curve(), blender::bke::CurvesGeometry::evaluated_points_for_curve(), blender::bke::CurvesGeometry::evaluated_points_for_curves(), blender::bke::CurvesGeometry::fill_curve_types(), blender::bke::move_curves_geometry(), and blender::bke::CurvesGeometry::~CurvesGeometry().