1 #ifndef parametricsurface_h 2 #define parametricsurface_h 13 #include "geometrymod.h" 21 class ParametricCurve;
34 virtual bool insertRow(
int row,
int nrnew=1) = 0;
35 virtual bool insertCol(
int col,
int nrnew=1) = 0;
36 virtual bool removeRow(
int startrow,
int stoprow) {
return false; }
37 virtual bool removeCol(
int startcol,
int stoprcol) {
return false; }
45 createRowCurve(
float row,
48 createColCurve(
float col,
55 virtual bool unsetKnot(
const RowCol&);
57 virtual Coord3 getKnot(
const RowCol&,
bool interpifudf)
const = 0;
58 virtual bool isKnotDefined(
const RowCol&)
const;
59 bool hasSupport(
const RowCol&)
const;
62 RowCol getKnotRowCol(
int idx )
const;
68 bool isAtEdge(
const RowCol&)
const;
70 bool checkSupport(
bool yn);
72 bool checksSupport()
const;
74 bool checkSelfIntersection(
bool yn);
76 bool checksSelfIntersection()
const;
79 void trimUndefParts();
81 int getKnotIndex(
const RowCol& rc)
const;
84 virtual void _setKnot(
int idx,
const Coord3& ) = 0;
85 virtual bool checkSelfIntersection(
const RowCol& )
const;
89 return (row - origin_.row()) /
step_.
row();
93 return (col - origin_.col()) /
step_.
col();
97 virtual int nrRows()
const = 0;
98 virtual int nrCols()
const = 0;
IdxType & row()
Definition: posidxpair.h:45
#define mExpClass(module)
Definition: commondefs.h:160
A curve that is defined by regularly sampled positions.
Definition: parametriccurve.h:32
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Definition: parametricsurface.h:23
static int colDim()
Definition: parametricsurface.h:96
RowCol step_
Definition: parametricsurface.h:106
RowCol step_
Definition: horizontracker.h:141
A cartesian coordinate in 2D space.
Definition: coord.h:25
od_int64 GeomPosID
Definition: geomelement.h:21
bool checksupport_
Definition: parametricsurface.h:102
int rowIndex(int row) const
Definition: parametricsurface.h:87
Definition: rowcolsurface.h:26
int colIndex(int col) const
Definition: parametricsurface.h:91
A cartesian coordinate in 3D space.
Definition: coord.h:72
IdxPair used for its row() and col().
Definition: rowcol.h:25
virtual bool removeRow(int startrow, int stoprow)
Definition: parametricsurface.h:36
IdxType & col()
Definition: posidxpair.h:50
static int rowDim()
Definition: parametricsurface.h:95
virtual bool circularCols() const
Definition: parametricsurface.h:52
virtual bool removeCol(int startcol, int stoprcol)
Definition: parametricsurface.h:37
virtual bool circularRows() const
Definition: parametricsurface.h:51
RowCol origin_
Definition: parametricsurface.h:105
bool checkselfintersection_
Definition: parametricsurface.h:103
Definition: arraytesselator.h:21