Blender  V3.3
Public Member Functions | Static Public Member Functions | List of all members
blender::bke::VArrayImpl_For_BezierHandles Class Referencefinal
Inheritance diagram for blender::bke::VArrayImpl_For_BezierHandles:
blender::VMutableArrayImpl< float3 > blender::VArrayImpl< T >

Public Member Functions

 VArrayImpl_For_BezierHandles (MutableSpan< SplinePtr > splines, Array< int > offsets, const bool is_right)
 
float3 get (const int64_t index) const final
 
void set (const int64_t index, float3 value) final
 
void set_all (Span< float3 > src) final
 
void materialize (const IndexMask mask, MutableSpan< float3 > r_span) const final
 
void materialize_to_uninitialized (const IndexMask mask, MutableSpan< float3 > r_span) const final
 
- Public Member Functions inherited from blender::VMutableArrayImpl< float3 >
virtual bool try_assign_GVMutableArray (GVMutableArray &UNUSED(varray)) const
 
- Public Member Functions inherited from blender::VArrayImpl< T >
 VArrayImpl (const int64_t size)
 
virtual ~VArrayImpl ()=default
 
int64_t size () const
 
virtual CommonVArrayInfo common_info () const
 
virtual void materialize (IndexMask mask, MutableSpan< T > r_span) const
 
virtual void materialize_to_uninitialized (IndexMask mask, MutableSpan< T > r_span) const
 
virtual void materialize_compressed (IndexMask mask, MutableSpan< T > r_span) const
 
virtual void materialize_compressed_to_uninitialized (IndexMask mask, MutableSpan< T > r_span) const
 
virtual bool try_assign_GVArray (GVArray &UNUSED(varray)) const
 
virtual bool is_same (const VArrayImpl< T > &UNUSED(other)) const
 

Static Public Member Functions

static Array< Span< float3 > > get_handle_spans (Span< SplinePtr > splines, const bool is_right)
 

Additional Inherited Members

- Protected Attributes inherited from blender::VArrayImpl< T >
int64_t size_
 

Detailed Description

Definition at line 764 of file geometry_component_curve.cc.

Constructor & Destructor Documentation

◆ VArrayImpl_For_BezierHandles()

blender::bke::VArrayImpl_For_BezierHandles::VArrayImpl_For_BezierHandles ( MutableSpan< SplinePtr splines,
Array< int >  offsets,
const bool  is_right 
)
inline

Definition at line 771 of file geometry_component_curve.cc.

Member Function Documentation

◆ get()

float3 blender::bke::VArrayImpl_For_BezierHandles::get ( const int64_t  index) const
inlinefinalvirtual

Get the element at #index. This does not return a reference, because the value may be computed on the fly.

Implements blender::VArrayImpl< T >.

Definition at line 781 of file geometry_component_curve.cc.

References CURVE_TYPE_BEZIER, BezierSpline::handle_positions_left(), BezierSpline::handle_positions_right(), indices, blender::bke::lookup_point_indices(), and Spline::type().

◆ get_handle_spans()

static Array<Span<float3> > blender::bke::VArrayImpl_For_BezierHandles::get_handle_spans ( Span< SplinePtr splines,
const bool  is_right 
)
inlinestatic

Utility so we can pass handle positions to the materialize functions above.

Note
This relies on the ability of the materialize implementations to handle empty spans, since only Bezier splines have handles.

Definition at line 850 of file geometry_component_curve.cc.

References CURVE_TYPE_BEZIER, BezierSpline::handle_positions_left(), BezierSpline::handle_positions_right(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), splines, and type.

Referenced by materialize(), and materialize_to_uninitialized().

◆ materialize()

void blender::bke::VArrayImpl_For_BezierHandles::materialize ( const IndexMask  mask,
MutableSpan< float3 r_span 
) const
inlinefinal

◆ materialize_to_uninitialized()

void blender::bke::VArrayImpl_For_BezierHandles::materialize_to_uninitialized ( const IndexMask  mask,
MutableSpan< float3 r_span 
) const
inlinefinal

◆ set()

void blender::bke::VArrayImpl_For_BezierHandles::set ( const int64_t  index,
float3  value 
)
inlinefinalvirtual

◆ set_all()

void blender::bke::VArrayImpl_For_BezierHandles::set_all ( Span< float3 src)
inlinefinalvirtual

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