Blender  V3.3
Public Attributes | List of all members
blender::bke::CurvesGeometryRuntime Class Reference

#include <BKE_curves.hh>

Public Attributes

std::array< int, CURVE_TYPES_NUMtype_counts
 
Vector< int > evaluated_offsets_cache
 
Vector< int > bezier_evaluated_offsets
 
std::mutex offsets_cache_mutex
 
bool offsets_cache_dirty = true
 
Vector< curves::nurbs::BasisCachenurbs_basis_cache
 
std::mutex nurbs_basis_cache_mutex
 
bool nurbs_basis_cache_dirty = true
 
Vector< float3evaluated_position_cache
 
std::mutex position_cache_mutex
 
bool position_cache_dirty = true
 
Span< float3evaluated_positions_span
 
Vector< floatevaluated_length_cache
 
std::mutex length_cache_mutex
 
bool length_cache_dirty = true
 
Vector< float3evaluated_tangent_cache
 
std::mutex tangent_cache_mutex
 
bool tangent_cache_dirty = true
 
Vector< float3evaluated_normal_cache
 
std::mutex normal_cache_mutex
 
bool normal_cache_dirty = true
 

Detailed Description

Contains derived data, caches, and other information not saved in files, besides a few pointers to arrays that are kept in the non-runtime struct to avoid dereferencing this whenever they are accessed.

Definition at line 68 of file BKE_curves.hh.

Member Data Documentation

◆ bezier_evaluated_offsets

Vector<int> blender::bke::CurvesGeometryRuntime::bezier_evaluated_offsets
mutable

Definition at line 81 of file BKE_curves.hh.

◆ evaluated_length_cache

Vector<float> blender::bke::CurvesGeometryRuntime::evaluated_length_cache
mutable

Cache of lengths along each evaluated curve for for each evaluated point. If a curve is cyclic, it needs one more length value to correspond to the last segment, so in order to make slicing this array for a curve fast, an extra float is stored for every curve.

Definition at line 104 of file BKE_curves.hh.

◆ evaluated_normal_cache

Vector<float3> blender::bke::CurvesGeometryRuntime::evaluated_normal_cache
mutable

Normal direction vectors for each evaluated point.

Definition at line 114 of file BKE_curves.hh.

◆ evaluated_offsets_cache

Vector<int> blender::bke::CurvesGeometryRuntime::evaluated_offsets_cache
mutable

Cache of offsets into the evaluated array for each curve, accounting for all previous evaluated points, Bezier curve vector segments, different resolutions per curve, etc.

Definition at line 80 of file BKE_curves.hh.

◆ evaluated_position_cache

Vector<float3> blender::bke::CurvesGeometryRuntime::evaluated_position_cache
mutable

Cache of evaluated positions.

Definition at line 90 of file BKE_curves.hh.

◆ evaluated_positions_span

Span<float3> blender::bke::CurvesGeometryRuntime::evaluated_positions_span
mutable

The evaluated positions result, using a separate span in case all curves are poly curves, in which case a separate array of evaluated positions is unnecessary.

Definition at line 97 of file BKE_curves.hh.

◆ evaluated_tangent_cache

Vector<float3> blender::bke::CurvesGeometryRuntime::evaluated_tangent_cache
mutable

Direction of the curve at each evaluated point.

Definition at line 109 of file BKE_curves.hh.

◆ length_cache_dirty

bool blender::bke::CurvesGeometryRuntime::length_cache_dirty = true
mutable

Definition at line 106 of file BKE_curves.hh.

◆ length_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::length_cache_mutex
mutable

Definition at line 105 of file BKE_curves.hh.

◆ normal_cache_dirty

bool blender::bke::CurvesGeometryRuntime::normal_cache_dirty = true
mutable

Definition at line 116 of file BKE_curves.hh.

◆ normal_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::normal_cache_mutex
mutable

Definition at line 115 of file BKE_curves.hh.

◆ nurbs_basis_cache

Vector<curves::nurbs::BasisCache> blender::bke::CurvesGeometryRuntime::nurbs_basis_cache
mutable

Definition at line 85 of file BKE_curves.hh.

◆ nurbs_basis_cache_dirty

bool blender::bke::CurvesGeometryRuntime::nurbs_basis_cache_dirty = true
mutable

Definition at line 87 of file BKE_curves.hh.

◆ nurbs_basis_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::nurbs_basis_cache_mutex
mutable

Definition at line 86 of file BKE_curves.hh.

◆ offsets_cache_dirty

bool blender::bke::CurvesGeometryRuntime::offsets_cache_dirty = true
mutable

Definition at line 83 of file BKE_curves.hh.

◆ offsets_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::offsets_cache_mutex
mutable

Definition at line 82 of file BKE_curves.hh.

◆ position_cache_dirty

bool blender::bke::CurvesGeometryRuntime::position_cache_dirty = true
mutable

Definition at line 92 of file BKE_curves.hh.

◆ position_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::position_cache_mutex
mutable

Definition at line 91 of file BKE_curves.hh.

◆ tangent_cache_dirty

bool blender::bke::CurvesGeometryRuntime::tangent_cache_dirty = true
mutable

Definition at line 111 of file BKE_curves.hh.

◆ tangent_cache_mutex

std::mutex blender::bke::CurvesGeometryRuntime::tangent_cache_mutex
mutable

Definition at line 110 of file BKE_curves.hh.

◆ type_counts

std::array<int, CURVE_TYPES_NUM> blender::bke::CurvesGeometryRuntime::type_counts

The cached number of curves with each type. Unlike other caches here, this is not computed lazily, since it is needed so often and types are not adjusted much anyway.

Definition at line 74 of file BKE_curves.hh.


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