Defines an offset surface. More...
#include <cadex/Geom/OffsetSurface.hxx>
Public Member Functions | |
OffsetSurface () | |
Constructor. | |
OffsetSurface (const Surface &theBasisSurface, double theOffset) | |
Constructor. | |
Surface | BasisSurface () const |
Returns basis surface. | |
double | Offset () const |
Returns offset value. | |
![]() | |
Surface () | |
Constructor. | |
SurfaceType | Type () const |
Returns a surface type. | |
Geom::Continuity | Continuity () const |
Returns a continuity type of the surface. | |
Point | Value (double theParameterU, double theParameterV) const |
Evaluates a point on the surface. | |
Direction | Normal (double theParameterU, double theParameterV) const |
Returns the normal direction theNormal at the current point. | |
bool | IsUPeriodic () const |
Returns true if the surface is periodic in U direction. | |
bool | IsVPeriodic () const |
Returns true if the surface is periodic in V direction. | |
double | UMin () const |
Returns a minimum parameter of a definition domain in U direction. | |
double | UMax () const |
Returns a maximum parameter of a definition domain in U direction. | |
double | VMin () const |
Returns a minimum parameter of a definition domain in V direction. | |
double | VMax () const |
Returns a maximum parameter of a definition domain in V direction. | |
void | Domain (double &theUMin, double &theUMax, double &theVMin, double &theVMax) const |
Returns a definition domain. | |
bool | IsTrimmed () const |
Returns whether surface is trimmed or not. | |
void | SetTrim (double theUFirst, double theULast, double theVFirst, double theVLast) |
Trims surface with [theUFirst, theULast] x [theVFirst, theVLast] section. | |
void | Transform (const Transformation &theTransformation) |
Applies transformation matrix to this object. | |
Surface | Transformed (const Transformation &theTransformation) const |
Returns a copy this object after applying transformation. | |
void | D0 (double theParameterU, double theParameterV, Point &theValue) const |
Returns the point theValue of parameter theU, theV on the surface. | |
void | D1 (double theParameterU, double theParameterV, Point &theValue, Vector &theD1U, Vector &theD1V) const |
Returns the point theValue and the first derivatives in the directions U theD1U and V theD1V at this point. | |
void | D2 (double theParameterU, double theParameterV, Point &theValue, Vector &theD1U, Vector &theD1V, Vector &theD2U, Vector &theD2V, Vector &theD2UV) const |
Returns the point theValue, the first and the second derivatives in the directions U and V at this point. | |
bool | DN (double theParameterU, double theParameterV, size_t theDerivativeOrder, Geom::Point &theValue, std::vector< Geom::Vector > &theD) const |
void | Curvature (double theParameterU, double theParameterV, Direction &thePrincipalMaxDirection, Direction &thePrincipalMinDirection) const |
Returns the max and min principal curvature directions multiplied by max and min value of curvature respectively. | |
void | Curvature (double theParameterU, double theParameterV, Direction &thePrincipalMaxDirection, Direction &thePrincipalMinDirection, double &theMaxCurvature, double &theMinCurvature) const |
Returns the max and min principal curvature directions and their values. | |
void | Mirror (const Point &thePoint) |
void | Mirror (const Axis1d &theAxis) |
void | Mirror (const Axis3d &theAxis) |
Surface | Mirrored (const Point &theRef) const |
Surface | Mirrored (const Axis1d &theAxis) const |
Surface | Mirrored (const Axis3d &theAxis) const |
void | Rotate (const Axis1d &theAxis, double theAngle) |
Surface | Rotated (const Axis1d &theAxis, double theAngle) const |
void | Translate (const Vector &theVector) |
Surface | Translated (const Vector &theVector) const |
void | Scale (const Point &thePoint, double theScale) |
Surface | Scaled (const Point &thePoint, double theScale) const |
![]() | |
size_t | Id () const |
Return unique identifier of public object. | |
internal::BaseObjectImpl * | Impl () const |
bool | IsNull () const |
operator bool () const | |
template<typename T > | |
bool | IsOfType () const |
template<typename T > | |
T * | Impl () const |
Reserved for internal use. | |
Static Public Member Functions | |
static bool | CompareType (const BaseObject &theObject) |
![]() | |
static bool | CompareType (const BaseObject &theObject) |
![]() | |
static bool | CompareType (const BaseObject &theObject) |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< internal::BaseObjectImpl > | ImplType |
![]() | |
Surface (const ImplType &theImpl) | |
![]() | |
Geometry (const ImplType &theImpl) | |
![]() | |
BaseObject (const ImplType &theImpl) | |
Defines an offset surface.
An offset surface is defined by a basis surface and an offset value.
The following image depicts an example of an offset surface:
A basis surface must be at least G1-continous, otherwise behavior is undefined (most likely an exception will be thrown).
An offset surface is parametrized as follows: \(\mathbf{S}(u,v) = \mathbf{B}(u,v) + \mathrm{offset} \cdot \mathbf{N}(u,v)\), where
cadex::Geom::OffsetSurface::OffsetSurface | ( | const Surface & | theBasisSurface, |
double | theOffset ) |
Constructor.
If theBasisSurface is an offset surface then its basis surface will be used as a basis surface and offset will be a sum of theOffset and the offset value of the theBasisSurface.
theBasisSurface must be at least G1-continuous, otherwise behavior is undefined.
double cadex::Geom::OffsetSurface::Offset | ( | ) | const |
Returns offset value.
Returns the value specified in constructor.