Nth order bezier curve edge. Only interior control points should be specified. The outer points are taken as start and end. Note that the calculation of each point takes 0(N^2) time, where N is the number of control points. This edge type shouldn't therefore be used for finely discretised line data; polyLine or similar will be more appropriate for such cases. Beziers are useful for simple curved shapes such as aerofoils, or when you want an edge to match a specific direction at one, or both, or its endpoints. In comparison with BSplines, the grading of bezier edges should be smoother, and the code is much simpler. The algorithmic order is worse, however, and the edge will not follow the control points as closely.
More...
|
| TypeName ("bezier") |
|
| bezier (const pointField &points, const label start, const label end, const pointField &control) |
| Construct from components. More...
|
|
| bezier (const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &, Istream &) |
| Construct from Istream. More...
|
|
virtual | ~bezier ()=default |
| Destructor. More...
|
|
point | position (const scalar lambda) const |
| Return the point position corresponding to the curve parameter. More...
|
|
scalar | length () const |
| Return the length of the curve. More...
|
|
| TypeName ("blockEdge") |
| Runtime type information. More...
|
|
| declareRunTimeSelectionTable (autoPtr, blockEdge, Istream,(const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is),(dict, index, geometry, points, is)) |
|
| blockEdge (const pointField &points, const label start, const label end) |
| Construct from components. More...
|
|
| blockEdge (const dictionary &dict, const label index, const pointField &, Istream &) |
| Construct from Istream setting pointsList. More...
|
|
virtual autoPtr< blockEdge > | clone () const |
| Clone function. More...
|
|
virtual | ~blockEdge ()=default |
| Destructor. More...
|
|
label | start () const |
| Return label of start point. More...
|
|
label | end () const |
| Return label of end point. More...
|
|
int | compare (const blockEdge &) const |
| Compare the given start and end points with this curve. More...
|
|
int | compare (const edge &) const |
| Compare the given start and end points with this curve. More...
|
|
int | compare (const label start, const label end) const |
| Compare the given start and end points with this curve. More...
|
|
virtual tmp< pointField > | position (const scalarList &) const |
| Return the point positions corresponding to the curve parameters. More...
|
|
void | write (Ostream &, const dictionary &) const |
| Write edge with variable backsubstitution. More...
|
|
Nth order bezier curve edge. Only interior control points should be specified. The outer points are taken as start and end. Note that the calculation of each point takes 0(N^2) time, where N is the number of control points. This edge type shouldn't therefore be used for finely discretised line data; polyLine or similar will be more appropriate for such cases. Beziers are useful for simple curved shapes such as aerofoils, or when you want an edge to match a specific direction at one, or both, or its endpoints. In comparison with BSplines, the grading of bezier edges should be smoother, and the code is much simpler. The algorithmic order is worse, however, and the edge will not follow the control points as closely.
- Source files
-
Definition at line 61 of file bezier.H.