1 #ifndef cubicbeziersurface_h 2 #define cubicbeziersurface_h 14 #include "geometrymod.h" 18 template <
class T>
class Array2D;
26 CubicBezierSurfacePatch(
36 CubicBezierSurfacePatch* clone()
const;
38 Coord3 computePos(
float u,
float v)
const;
39 Coord3 computeNormal(
float u,
float v)
const;
40 Coord3 computeUTangent(
float u,
float v)
const;
41 Coord3 computeVTangent(
float u,
float v)
const;
43 bool intersectWithLine(
const Line3& line,
44 float& u,
float& v,
float eps )
const;
49 static int nrPos() {
return 16; }
62 bool isEmpty()
const {
return !positions; }
69 bool intersectWithLine(
const Line3&,
Coord&)
const;
73 bool insertRow(
int row,
int nrnew=1);
74 bool insertCol(
int col,
int nrnew=1);
75 bool removeRow(
int row,
int stoprow=-1);
76 bool removeCol(
int col,
int stopcol=-1);
78 {
return getKnot(rc,
false); }
79 Coord3 getKnot(
const RowCol&,
bool estimateifundef)
const;
81 Coord3 getRowDirection(
const RowCol&,
bool computeifudf)
const;
82 Coord3 getColDirection(
const RowCol&,
bool computeifudf)
const;
83 float directionInfluence()
const;
84 void setDirectionInfluence(
float);
94 bool checkSelfIntersection(
const RowCol& )
const;
101 void _setKnot(
int idx,
const Coord3& );
#define mExpClass(module)
Definition: commondefs.h:160
Definition: cubicbeziersurface.h:54
A curve that is defined by regularly sampled positions.
Definition: parametriccurve.h:32
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Array2D< Coord3 > * coldirections
Definition: cubicbeziersurface.h:107
Definition: parametricsurface.h:23
A cartesian coordinate in 2D space.
Definition: coord.h:25
A Line3 is a line in space, with the following equations:
Definition: trigonometry.h:441
bool isEmpty() const
Definition: cubicbeziersurface.h:62
Array2D< Coord3 > * positions
Definition: cubicbeziersurface.h:108
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
Class to store ranges in N dimensions.
Definition: ranges.h:209
virtual Coord3 getKnot(const RowCol &rc) const
Definition: cubicbeziersurface.h:77
A cartesian coordinate in 3D space.
Definition: coord.h:72
IdxPair used for its row() and col().
Definition: rowcol.h:25
Array2D< Coord3 > * rowdirections
Definition: cubicbeziersurface.h:106
float directioninfluence
Definition: cubicbeziersurface.h:110
Definition: arraytesselator.h:21
Definition: cubicbeziersurface.h:23
static int nrPos()
Definition: cubicbeziersurface.h:49