Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Data Structures
Geom_OffsetCurve.hxx File Reference
#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_Geom_OffsetCurve.hxx>
#include <Handle_Geom_Curve.hxx>
#include <gp_Dir.hxx>
#include <Standard_Real.hxx>
#include <Geom_Curve.hxx>
#include <GeomAbs_Shape.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_Geom_Geometry.hxx>

Data Structures

class  Geom_OffsetCurve
 This class implements the basis services for an offset curve
in 3D space. The Offset curve in this package can be a self
intersecting curve even if the basis curve does not
self-intersect. The self intersecting portions are not deleted
at the construction time.
An offset curve is a curve at constant distance (Offset) from
a basis curve in a reference direction V. The offset curve
takes its parametrization from the basis curve.
The Offset curve is in the direction of of the normal N
defined with the cross product V^T where the vector T
is given by the first derivative on the basis curve with
non zero length.
The distance offset may be positive or negative to indicate the
preferred side of the curve :
. distance offset >0 => the curve is in the direction of N
. distance offset >0 => the curve is in the direction of - N

On the Offset curve :
Value (U) = BasisCurve.Value(U) + (Offset * (T ^ V)) / ||T ^ V||

At any point the Offset direction V must not be parallel to the
vector T and the vector T must not have null length else the
offset curve is not defined. So the offset curve has not the
same continuity as the basis curve.

Warnings :

In this package we suppose that the continuity of the offset
curve is one degree less than the continuity of the basis
curve and we don't check that at any point ||T^V|| != 0.0

So to evaluate the curve it is better to check that the offset
curve is well defined at any point because an exception could
be raised. The check is not done in this package at the creation
of the offset curve because the control needs the use of an
algorithm which cannot be implemented in this package.

The OffsetCurve is closed if the first point and the last point
are the same (The distance between these two points is lower or
equal to the Resolution sea package gp) . The OffsetCurve can be
closed even if the basis curve is not closed.
More...