Blender
V3.3
|
Classes | |
class | SampleFloatSegmentsFunction |
class | SampleCurveFunction |
Functions | |
static void | node_declare (NodeDeclarationBuilder &b) |
static void | node_layout (uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) |
static void | node_type_init (bNodeTree *UNUSED(tree), bNode *node) |
static void | node_update (bNodeTree *ntree, bNode *node) |
static void | sample_indices_and_lengths (const Span< float > accumulated_lengths, const Span< float > sample_lengths, const IndexMask mask, MutableSpan< int > r_segment_indices, MutableSpan< float > r_length_in_segment) |
static void | sample_indices_and_factors_to_compressed (const Span< float > accumulated_lengths, const Span< float > sample_lengths, const IndexMask mask, MutableSpan< int > r_segment_indices, MutableSpan< float > r_factor_in_segment) |
static Field< float > | get_length_input_field (GeoNodeExecParams params, const GeometryNodeCurveSampleMode mode, const float curves_total_length) |
static Array< float > | curve_accumulated_lengths (const bke::CurvesGeometry &curves) |
static void | node_geo_exec (GeoNodeExecParams params) |
|
static |
Definition at line 302 of file node_geo_curve_sample.cc.
References curves, and blender::math::length().
Referenced by node_geo_exec().
|
static |
Pre-process the lengths or factors used for the sampling, turning factors into lengths, and clamping between zero and the total length of the curves. Do this as a separate operation in the field tree to make the sampling simpler, and to let the evaluator optimize better.
Definition at line 284 of file node_geo_curve_sample.cc.
References blender::fn::FieldOperation::Create(), GEO_NODE_CURVE_SAMPLE_LENGTH, and params.
Referenced by node_geo_exec().
|
static |
Definition at line 17 of file node_geo_curve_sample.cc.
References usdtokens::b(), GEO_COMPONENT_TYPE_CURVE, GEO_NODE_CURVE_SAMPLE_FACTOR, GEO_NODE_CURVE_SAMPLE_LENGTH, min, N_, node, PROP_DISTANCE, and PROP_FACTOR.
Referenced by register_node_type_geo_curve_sample().
|
static |
Definition at line 316 of file node_geo_curve_sample.cc.
References blender::fn::FieldOperation::Create(), curve_accumulated_lengths(), curves, Curves::geometry, GeometrySet::get_curves_for_read(), get_length_input_field(), GeometrySet::has_curves(), blender::Array< T, InlineBufferCapacity, Allocator >::last(), NodeGeometryCurveSample::mode, params, and blender::bke::CurvesGeometry::wrap().
Referenced by register_node_type_geo_curve_sample().
|
static |
Definition at line 38 of file node_geo_curve_sample.cc.
References ptr, UI_ITEM_R_EXPAND, and uiItemR().
Referenced by register_node_type_geo_curve_sample().
|
static |
Definition at line 43 of file node_geo_curve_sample.cc.
References data, GEO_NODE_CURVE_SAMPLE_LENGTH, and node.
Referenced by register_node_type_geo_curve_sample().
|
static |
Definition at line 50 of file node_geo_curve_sample.cc.
References GEO_NODE_CURVE_SAMPLE_FACTOR, GEO_NODE_CURVE_SAMPLE_LENGTH, blender::math::length(), NodeGeometryCurveSample::mode, next, node, nodeSetSocketAvailability(), and ntree.
Referenced by register_node_type_geo_curve_sample().
|
static |
Definition at line 90 of file node_geo_curve_sample.cc.
References blender::Span< T >::last(), and mask().
Referenced by blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::call().
|
static |
Definition at line 62 of file node_geo_curve_sample.cc.
References blender::math::clamp(), blender::Span< T >::last(), mask(), and blender::length_parameterize::sample_at_length().
Referenced by blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction::call().