Blender  V3.3
Public Attributes | List of all members
CurvesGeometry Struct Reference

#include <DNA_curves_types.h>

Inheritance diagram for CurvesGeometry:
blender::bke::CurvesGeometry

Public Attributes

int * curve_offsets
 
CustomData point_data
 
CustomData curve_data
 
int point_num
 
int curve_num
 
CurvesGeometryRuntimeHandleruntime
 

Detailed Description

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.

Member Data Documentation

◆ curve_data

CustomData CurvesGeometry::curve_data

◆ curve_num

int CurvesGeometry::curve_num

◆ curve_offsets

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.

Note
This is not stored in CustomData because its size is one larger than curve_data.

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

◆ point_data

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

◆ point_num

int CurvesGeometry::point_num

◆ runtime

CurvesGeometryRuntimeHandle* CurvesGeometry::runtime

The documentation for this struct was generated from the following file: