48 const gsl::span<const NurbsCurve> &curves,
58 const gsl::span<const NurbsCurve> &curves,
59 const gsl::span<const float> ¶meters,
83 static NurbsSurface fit_open(
const gsl::span<const Imath::V3f>& points,
const gsl::span<const float>& parameters_u,
const gsl::span<const float>& parameters_v,
const gsl::span<const float>& knots_u,
const gsl::span<const float>& knots_v,
int pu,
int pv,
int du,
int dv);
92 static NurbsSurface fit_close_u(
const gsl::span<const Imath::V3f>& points,
const gsl::span<const float>& parameters_u,
const gsl::span<const float>& parameters_v,
const gsl::span<const float>& knots_u,
const gsl::span<const float>& knots_v,
int pu,
int pv,
int du,
int dv);
101 static NurbsSurface fit_close_v(
const gsl::span<const Imath::V3f>& points,
const gsl::span<const float>& parameters_u,
const gsl::span<const float>& parameters_v,
const gsl::span<const float>& knots_u,
const gsl::span<const float>& knots_v,
int pu,
int pv,
int du,
int dv);
116 int control_points_u()
const;
119 int control_points_v()
const;
122 int degree_u()
const;
125 int degree_v()
const;
158 Imath::V3d evaluate(
double u,
double v)
const;
162 NurbsCurve iso_curve(
float u,
bool use_v)
const;
166 std::pair<Imath::V3f,Imath::V3f> evaluate_dp(
float u,
float v,
bool previous_u=
false,
bool previous_v=
false)
const;
173 float error = 0.001f,
178 Mesh tessellate(
int subdivision_u,
int subdivision_v,
bool compute_uv_and_normals =
false)
const;
181 void remap_knots_u(
float new_min,
float new_max);
184 void remap_knots_v(
float new_min,
float new_max);
190 void refine_knots_v(
const gsl::span<const float>& new_knots);
196 NurbsSurface(std::shared_ptr<Impl> impl) { _impl=impl; }
static const NurbsSurface default_value
The default value.
Definition: NurbsSurface.h:193
Definition: ImathFrame.h:42
A nurbs surface value.
Definition: NurbsSurface.h:27
A mesh value.
Definition: Mesh.h:33
void error(const char *format, const Args &... args)
Log an error message using the Rumba logger.
Definition: Logger.h:50
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A nurbs curve value.
Definition: NurbsCurve.h:23
#define MAQUINA_EXPORT
Definition: Export.h:31
Definition: ImathVec.h:61
A writable buffer for basic types like floats, integers, Imath::V3f, Imath::M44f..
Definition: Buffer.h:106
Mode
The surface curves mode.
Definition: NurbsSurface.h:31
A set of 3d points.
Definition: Points.h:26
Base class of all Rumba values.
Definition: Value.h:34