33 #include <dime/entities/ExtrusionEntity.h>
50 bool hasWeights()
const;
52 int16 getFlags()
const;
53 void setFlags(
const int16 flags);
55 int16 getDegree()
const;
56 void setDegree(
const int16 degree);
58 dxfdouble getControlPointTolerance()
const;
59 void setControlPointTolerance(
const dxfdouble tol);
60 dxfdouble getFitPointTolerance()
const;
61 void setFitPointTolerance(
const dxfdouble tol);
62 dxfdouble getKnotTolerance()
const;
63 void setKnotTolerance(
const dxfdouble tol);
65 int getNumKnots()
const;
66 dxfdouble getKnotValue(
const int idx)
const;
67 void setKnotValue(
const int idx,
const dxfdouble value);
68 void setKnotValues(
const dxfdouble *
const values,
const int numvalues,
71 int getNumControlPoints()
const;
72 const dimeVec3f &getControlPoint(
const int idx)
const;
73 void setControlPoint(
const int idx,
const dimeVec3f &v);
74 void setControlPoints(
const dimeVec3f *
const pts,
const int numpts,
77 int getNumWeights()
const;
78 dxfdouble getWeight(
const int idx)
const;
79 void setWeight(
const int idx,
const dxfdouble w,
82 int getNumFitPoints()
const;
83 const dimeVec3f &getFitPoint(
const int idx)
const;
84 void setFitPoint(
const int idx,
const dimeVec3f &pt);
85 void setFitPoints(
const dimeVec3f *
const pts,
const int numpts,
89 virtual bool getRecord(
const int groupcode,
91 const int index)
const;
94 virtual void print()
const;
96 virtual int typeId()
const;
109 int32 numControlPoints;
114 int16 numControlPoints;
117 dxfdouble knotTolerance;
118 dxfdouble fitTolerance;
119 dxfdouble cpTolerance;
134 dimeSpline::getFlags()
const
140 dimeSpline::setFlags(
const int16 flags)
146 dimeSpline::getDegree()
const
152 dimeSpline::setDegree(
const int16 degree)
154 this->degree = degree;
158 dimeSpline::getControlPointTolerance()
const
160 return this->cpTolerance;
164 dimeSpline::setControlPointTolerance(
const dxfdouble tol)
166 this->cpTolerance = tol;
170 dimeSpline::getFitPointTolerance()
const
172 return this->fitTolerance;
176 dimeSpline::setFitPointTolerance(
const dxfdouble tol)
178 this->fitTolerance = tol;
182 dimeSpline::getKnotTolerance()
const
184 return this->knotTolerance;
188 dimeSpline::setKnotTolerance(
const dxfdouble tol)
190 this->knotTolerance = tol;
194 dimeSpline::getNumKnots()
const
196 return this->numKnots;
200 dimeSpline::getKnotValue(
const int idx)
const
202 assert(idx >= 0 && idx < this->numKnots);
203 return this->knots[idx];
207 dimeSpline::setKnotValue(
const int idx,
const dxfdouble value)
209 assert(idx >= 0 && idx < this->numKnots);
210 this->knots[idx] = value;
214 dimeSpline::getNumControlPoints()
const
216 return this->numControlPoints;
220 dimeSpline::getControlPoint(
const int idx)
const
222 assert(idx >= 0 && idx < this->numControlPoints);
223 return this->controlPoints[idx];
227 dimeSpline::setControlPoint(
const int idx,
const dimeVec3f &v)
229 assert(idx >= 0 && idx < this->numControlPoints);
230 this->controlPoints[idx] = v;
234 dimeSpline::getNumWeights()
const
236 return this->getNumControlPoints();
240 dimeSpline::getWeight(
const int idx)
const
243 assert(idx >= 0 && idx < this->numControlPoints);
244 return this->weights[idx];
250 dimeSpline::getNumFitPoints()
const
252 return this->numFitPoints;
256 dimeSpline::getFitPoint(
const int idx)
const
258 assert(idx >= 0 && idx < this->numFitPoints);
259 return this->fitPoints[idx];
263 dimeSpline::setFitPoint(
const int idx,
const dimeVec3f &pt)
265 assert(idx >= 0 && idx < this->numFitPoints);
266 this->fitPoints[idx] = pt;
269 #endif // ! DIME_SPLINE_H
The dimeMemHandler class is a special-purpose memory manager.
Definition: MemHandler.h:35
virtual int typeId() const =0
The dimeSpline class handles a SPLINE entity.
Definition: Spline.h:36
virtual dimeEntity * copy(dimeModel *const model) const =0
virtual bool getRecord(const int groupcode, dimeParam ¶m, const int index=0) const
Definition: Entity.cpp:709
The dimeEntity class is the superclass of all entity classes.
Definition: Entity.h:57
The dimeModel class organizes a model.
Definition: Model.h:51
virtual const char * getEntityName() const =0
The dimeVec3f class is for containing and operating on a 3D vector / coordinate.
Definition: Linear.h:56
The dimeParam class is a union of the different parameter types.
Definition: Basic.h:97
bool hasWeights() const
Definition: Spline.cpp:85
virtual int countRecords() const
Definition: Entity.cpp:520
virtual bool write(dimeOutput *const out)
Definition: Entity.cpp:267
virtual bool handleRecord(const int groupcode, const dimeParam ¶m, dimeMemHandler *const memhandler)
Definition: Entity.cpp:653
The dimeOutput class handles writing of DXF and DXB files.
Definition: Output.h:38