17 .default_value({-1.0f, 0.0f, 0.0f})
21 .default_value({0.0f, 2.0f, 0.0f})
25 .default_value({1.0f, 0.0f, 0.0f})
41 const float step = 1.0f / resolution;
42 for (
const int i :
IndexRange(resolution + 1)) {
43 const float factor = step * i;
Low-level operations for curves.
#define NODE_CLASS_GEOMETRY
#define GEO_NODE_CURVE_PRIMITIVE_QUADRATIC_BEZIER
void nodeRegisterType(struct bNodeType *ntype)
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to curves
static CurvesGeometry & wrap(::CurvesGeometry &dna_struct)
StringRefNull description() const
Curves * curves_new_nomain_single(int points_num, CurveType type)
T interpolate(const T &a, const T &b, const FactorT &t)
static void node_declare(NodeDeclarationBuilder &b)
static void node_geo_exec(GeoNodeExecParams params)
static Curves * create_quadratic_bezier_curve(const float3 p1, const float3 p2, const float3 p3, const int resolution)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
void register_node_type_geo_curve_primitive_quadratic_bezier()
MutableSpan< float3 > positions
void geo_node_type_base(bNodeType *ntype, int type, const char *name, short nclass)
static GeometrySet create_with_curves(Curves *curves, GeometryOwnershipType ownership=GeometryOwnershipType::Owned)
NodeGeometryExecFunction geometry_node_execute
NodeDeclareFunction declare