Blender V4.3
CurvesGeometry Struct Reference

#include <DNA_curves_types.h>

Inherited by blender::bke::CurvesGeometry.

Public Attributes

intcurve_offsets
 
CustomData point_data
 
CustomData curve_data
 
int point_num
 
int curve_num
 
ListBase vertex_group_names
 
int vertex_group_active_index
 
int attributes_active_index
 
CurvesGeometryRuntimeHandleruntime
 

Detailed Description

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.

Member Data Documentation

◆ attributes_active_index

int CurvesGeometry::attributes_active_index

◆ curve_data

◆ 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. 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.

Note
This is not stored as an attribute because its size is one larger than curve_num.

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

◆ point_data

◆ point_num

◆ runtime

◆ vertex_group_active_index

int CurvesGeometry::vertex_group_active_index

◆ vertex_group_names


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