Blender  V3.3
Functions
blender::nodes::node_geo_curve_to_points_cc Namespace Reference

Functions

static void node_declare (NodeDeclarationBuilder &b)
 
static void node_layout (uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 
static void node_init (bNodeTree *UNUSED(tree), bNode *node)
 
static void node_update (bNodeTree *ntree, bNode *node)
 
static void curve_create_default_rotation_attribute (Span< float3 > tangents, Span< float3 > normals, MutableSpan< float3 > rotations)
 
static Array< int > calculate_spline_point_offsets (GeoNodeExecParams &params, const GeometryNodeCurveResampleMode mode, const CurveEval &curve, const Span< SplinePtr > splines)
 
static GMutableSpan ensure_point_attribute (PointCloudComponent &points, const AttributeIDRef &attribute_id, const eCustomDataType data_type)
 
template<typename T >
static MutableSpan< Tensure_point_attribute (PointCloudComponent &points, const AttributeIDRef &attribute_id)
 
static ResultAttributes create_attributes_for_transfer (PointCloudComponent &points, const CurveEval &curve, const AnonymousAttributeIDs &attributes)
 
static void copy_evaluated_point_attributes (const Span< SplinePtr > splines, const Span< int > offsets, ResultAttributes &data)
 
static void copy_uniform_sample_point_attributes (const Span< SplinePtr > splines, const Span< int > offsets, ResultAttributes &data)
 
static void copy_spline_domain_attributes (const CurveEval &curve, const Span< int > offsets, PointCloudComponent &points)
 
static void node_geo_exec (GeoNodeExecParams params)
 

Function Documentation

◆ calculate_spline_point_offsets()

static Array<int> blender::nodes::node_geo_curve_to_points_cc::calculate_spline_point_offsets ( GeoNodeExecParams params,
const GeometryNodeCurveResampleMode  mode,
const CurveEval curve,
const Span< SplinePtr splines 
)
static

◆ copy_evaluated_point_attributes()

static void blender::nodes::node_geo_curve_to_points_cc::copy_evaluated_point_attributes ( const Span< SplinePtr splines,
const Span< int >  offsets,
ResultAttributes &  data 
)
static

TODO: For non-poly splines, this has double copies that could be avoided as part of a general look at optimizing uses of Spline::interpolate_to_evaluated.

Definition at line 205 of file node_geo_curve_to_points.cc.

References blender::threading::parallel_for(), and splines.

Referenced by node_geo_exec().

◆ copy_spline_domain_attributes()

static void blender::nodes::node_geo_curve_to_points_cc::copy_spline_domain_attributes ( const CurveEval curve,
const Span< int >  offsets,
PointCloudComponent points 
)
static

◆ copy_uniform_sample_point_attributes()

static void blender::nodes::node_geo_curve_to_points_cc::copy_uniform_sample_point_attributes ( const Span< SplinePtr splines,
const Span< int >  offsets,
ResultAttributes &  data 
)
static

Definition at line 238 of file node_geo_curve_to_points.cc.

References blender::threading::parallel_for(), and splines.

Referenced by node_geo_exec().

◆ create_attributes_for_transfer()

static ResultAttributes blender::nodes::node_geo_curve_to_points_cc::create_attributes_for_transfer ( PointCloudComponent points,
const CurveEval curve,
const AnonymousAttributeIDs &  attributes 
)
static

◆ curve_create_default_rotation_attribute()

static void blender::nodes::node_geo_curve_to_points_cc::curve_create_default_rotation_attribute ( Span< float3 tangents,
Span< float3 normals,
MutableSpan< float3 rotations 
)
static

Definition at line 65 of file node_geo_curve_to_points.cc.

References blender::threading::parallel_for(), and rotations.

Referenced by node_geo_exec().

◆ ensure_point_attribute() [1/2]

template<typename T >
static MutableSpan<T> blender::nodes::node_geo_curve_to_points_cc::ensure_point_attribute ( PointCloudComponent points,
const AttributeIDRef attribute_id 
)
static

◆ ensure_point_attribute() [2/2]

static GMutableSpan blender::nodes::node_geo_curve_to_points_cc::ensure_point_attribute ( PointCloudComponent points,
const AttributeIDRef attribute_id,
const eCustomDataType  data_type 
)
static
Note
Relies on the fact that all attributes on point clouds are stored contiguously.

Definition at line 125 of file node_geo_curve_to_points.cc.

References ATTR_DOMAIN_POINT, attribute, and PointCloudComponent::attributes_for_write().

◆ node_declare()

static void blender::nodes::node_geo_curve_to_points_cc::node_declare ( NodeDeclarationBuilder b)
static

◆ node_geo_exec()

static void blender::nodes::node_geo_curve_to_points_cc::node_geo_exec ( GeoNodeExecParams  params)
static

◆ node_init()

static void blender::nodes::node_geo_curve_to_points_cc::node_init ( bNodeTree UNUSEDtree,
bNode node 
)
static

Definition at line 45 of file node_geo_curve_to_points.cc.

References data, GEO_NODE_CURVE_RESAMPLE_COUNT, and node.

◆ node_layout()

static void blender::nodes::node_geo_curve_to_points_cc::node_layout ( uiLayout layout,
bContext UNUSEDC,
PointerRNA ptr 
)
static

Definition at line 40 of file node_geo_curve_to_points.cc.

References ptr, and uiItemR().

Referenced by register_node_type_geo_curve_to_points().

◆ node_update()

static void blender::nodes::node_geo_curve_to_points_cc::node_update ( bNodeTree ntree,
bNode node 
)
static