Differential D13033 Diff 44115 source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadratic_bezier.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadratic_bezier.cc
| Show All 15 Lines | |||||
| #include "BKE_spline.hh" | #include "BKE_spline.hh" | ||||
| #include "node_geometry_util.hh" | #include "node_geometry_util.hh" | ||||
| namespace blender::nodes { | namespace blender::nodes { | ||||
| static void geo_node_curve_primitive_quadratic_bezier_declare(NodeDeclarationBuilder &b) | static void geo_node_curve_primitive_quadratic_bezier_declare(NodeDeclarationBuilder &b) | ||||
| { | { | ||||
| b.add_input<decl::Int>("Resolution").default_value(16).min(3).max(256).subtype(PROP_UNSIGNED); | b.add_input<decl::Int>(N_("Resolution")) | ||||
| b.add_input<decl::Vector>("Start").default_value({-1.0f, 0.0f, 0.0f}).subtype(PROP_TRANSLATION); | .default_value(16) | ||||
| b.add_input<decl::Vector>("Middle").default_value({0.0f, 2.0f, 0.0f}).subtype(PROP_TRANSLATION); | .min(3) | ||||
| b.add_input<decl::Vector>("End").default_value({1.0f, 0.0f, 0.0f}).subtype(PROP_TRANSLATION); | .max(256) | ||||
| b.add_output<decl::Geometry>("Curve"); | .subtype(PROP_UNSIGNED); | ||||
| b.add_input<decl::Vector>(N_("Start")) | |||||
| .default_value({-1.0f, 0.0f, 0.0f}) | |||||
| .subtype(PROP_TRANSLATION); | |||||
| b.add_input<decl::Vector>(N_("Middle")) | |||||
| .default_value({0.0f, 2.0f, 0.0f}) | |||||
| .subtype(PROP_TRANSLATION); | |||||
| b.add_input<decl::Vector>(N_("End")).default_value({1.0f, 0.0f, 0.0f}).subtype(PROP_TRANSLATION); | |||||
| b.add_output<decl::Geometry>(N_("Curve")); | |||||
| } | } | ||||
| static std::unique_ptr<CurveEval> create_quadratic_bezier_curve(const float3 p1, | static std::unique_ptr<CurveEval> create_quadratic_bezier_curve(const float3 p1, | ||||
| const float3 p2, | const float3 p2, | ||||
| const float3 p3, | const float3 p3, | ||||
| const int resolution) | const int resolution) | ||||
| { | { | ||||
| std::unique_ptr<CurveEval> curve = std::make_unique<CurveEval>(); | std::unique_ptr<CurveEval> curve = std::make_unique<CurveEval>(); | ||||
| Show All 40 Lines | |||||