Open CASCADE Technology 6.5.2
Public Member Functions
BlendFunc_CSCircular Class Reference

#include <BlendFunc_CSCircular.hxx>

Inheritance diagram for BlendFunc_CSCircular:
Inheritance graph
[legend]

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 BlendFunc_CSCircular (const Handle< Adaptor3d_HSurface > &S, const Handle< Adaptor3d_HCurve > &C, const Handle< Adaptor3d_HCurve > &CGuide, const Handle< Law_Function > &L)
 Creates a function for a circular blending between
a curve and a surface <S>. The direction of
the planes are given by <CGuide>. The position of
the plane is determined on the curve . <L>
defines the change of parameter between and
<CGuide>. So, the planes are defined as described
below :
t is the current parameter on the guide line.
Pguide = C(L(t)); Nguide = CGuide'(t)/||CGuide'(t)||

virtual Standard_Integer NbVariables () const
 Returns 3 (default value). Can be redefined.

Standard_Integer NbEquations () const
 returns the number of equations of the function (3).

Standard_Boolean Value (const math_Vector &X, math_Vector &F)
 computes the values <F> of the Functions for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.

Standard_Boolean Derivatives (const math_Vector &X, math_Matrix &D)
 returns the values <D> of the derivatives for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.

Standard_Boolean Values (const math_Vector &X, math_Vector &F, math_Matrix &D)
 returns the values <F> of the functions and the derivatives
<D> for the variable <X>.
Returns True if the computation was done successfully,
False otherwise.

void Set (const Standard_Real Param)
 Sets the value of the parameter along the guide line.
This determines the plane in which the solution has
to be found.

void Set (const Standard_Real First, const Standard_Real Last)
 Sets the bounds of the parametric interval on
the guide line.
This determines the derivatives in these values if the
function is not Cn.

void GetTolerance (math_Vector &Tolerance, const Standard_Real Tol) const
 Returns in the vector Tolerance the parametric tolerance
for each of the 3 variables;
Tol is the tolerance used in 3d space.

void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const
 Returns in the vector InfBound the lowest values allowed
for each of the 3 variables.
Returns in the vector SupBound the greatest values allowed
for each of the 3 variables.

Standard_Boolean IsSolution (const math_Vector &Sol, const Standard_Real Tol)
 Returns Standard_True if Sol is a zero of the function.
Tol is the tolerance used in 3d space.
The computation is made at the current value of
the parameter on the guide line.

const gp_Pnt & PointOnS () const
 Returns the point on the surface.

const gp_Pnt & PointOnC () const
 Returns the point on the curve.

const gp_Pnt2d & Pnt2d () const
 Returns U,V coordinates of the point on the surface.

Standard_Real ParameterOnC () const
 Returns parameter of the point on the curve.

Standard_Boolean IsTangencyPoint () const
 Returns True when it is not possible to compute
the tangent vectors at PointOnS and/or PointOnC.

const gp_Vec & TangentOnS () const
 Returns the tangent vector at PointOnS, in 3d space.

const gp_Vec2d & Tangent2d () const
 Returns the tangent vector at PointOnS, in the
parametric space of the first surface.

const gp_Vec & TangentOnC () const
 Returns the tangent vector at PointOnC, in 3d space.

void Tangent (const Standard_Real U, const Standard_Real V, gp_Vec &TgS, gp_Vec &NormS) const
 Returns the tangent vector at the section,
at the beginning and the end of the section, and
returns the normal (of the surface) at
these points.

void Set (const Standard_Real Radius, const Standard_Integer Choix)
void Set (const BlendFunc_SectionShape TypeSection)
 Sets the type of section generation for the
approximations.

void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, Standard_Real &Pdeb, Standard_Real &Pfin, gp_Circ &C)
virtual Standard_Boolean Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfVec &D2Poles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColgp_Array1OfVec2d &D2Poles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths, TColStd_Array1OfReal &D2Weigths)
 Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False.

Standard_Boolean GetSection (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, TColgp_Array1OfPnt &tabP, TColgp_Array1OfVec &tabV)
Standard_Boolean IsRational () const
 Returns if the section is rationnal

Standard_Real GetSectionSize () const
 Returns the length of the maximum section

void GetMinimalWeight (TColStd_Array1OfReal &Weigths) const
 Compute the minimal value of weight for each poles
of all sections.

Standard_Integer NbIntervals (const GeomAbs_Shape S) const
 Returns the number of intervals for continuity
<S>. May be one if Continuity(me) >= <S>

void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const
 Stores in <T> the parameters bounding the intervals
of continuity <S>.

The array must provide enough room to accomodate
for the parameters. i.e. T.Length() > NbIntervals()
raises
OutOfRange from Standard

void GetShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree, Standard_Integer &NbPoles2d)
void GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const
 Returns the tolerance to reach in approximation
to respecte
BoundTol error at the Boundary
AngleTol tangent error at the Boundary
SurfTol error inside the surface.

void Knots (TColStd_Array1OfReal &TKnots)
void Mults (TColStd_Array1OfInteger &TMults)
Standard_Boolean Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths)
 Used for the first and last section

void Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths)
void Resolution (const Standard_Integer IC2d, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const

Constructor & Destructor Documentation

BlendFunc_CSCircular::BlendFunc_CSCircular ( const Handle< Adaptor3d_HSurface > &  S,
const Handle< Adaptor3d_HCurve > &  C,
const Handle< Adaptor3d_HCurve > &  CGuide,
const Handle< Law_Function > &  L 
)

Member Function Documentation

Standard_Boolean BlendFunc_CSCircular::Derivatives ( const math_Vector &  X,
math_Matrix &  D 
) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::GetBounds ( math_Vector &  InfBound,
math_Vector &  SupBound 
) const [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::GetMinimalWeight ( TColStd_Array1OfReal &  Weigths) const [virtual]

Implements Blend_AppFunction.

Standard_Boolean BlendFunc_CSCircular::GetSection ( const Standard_Real  Param,
const Standard_Real  U,
const Standard_Real  V,
const Standard_Real  W,
TColgp_Array1OfPnt &  tabP,
TColgp_Array1OfVec &  tabV 
)
Standard_Real BlendFunc_CSCircular::GetSectionSize ( ) const [virtual]

Implements Blend_AppFunction.

void BlendFunc_CSCircular::GetShape ( Standard_Integer &  NbPoles,
Standard_Integer &  NbKnots,
Standard_Integer &  Degree,
Standard_Integer &  NbPoles2d 
) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::GetTolerance ( math_Vector &  Tolerance,
const Standard_Real  Tol 
) const [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
math_Vector &  Tol3d,
math_Vector &  Tol1D 
) const [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Intervals ( TColStd_Array1OfReal &  T,
const GeomAbs_Shape  S 
) const [virtual]

Implements Blend_AppFunction.

Standard_Boolean BlendFunc_CSCircular::IsRational ( ) const [virtual]

Implements Blend_AppFunction.

Standard_Boolean BlendFunc_CSCircular::IsSolution ( const math_Vector &  Sol,
const Standard_Real  Tol 
) [virtual]

Implements Blend_CSFunction.

Standard_Boolean BlendFunc_CSCircular::IsTangencyPoint ( ) const [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Knots ( TColStd_Array1OfReal &  TKnots) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Mults ( TColStd_Array1OfInteger &  TMults) [virtual]

Implements Blend_CSFunction.

Standard_Integer BlendFunc_CSCircular::NbEquations ( ) const [virtual]

Implements Blend_CSFunction.

Standard_Integer BlendFunc_CSCircular::NbIntervals ( const GeomAbs_Shape  S) const [virtual]

Implements Blend_AppFunction.

virtual Standard_Integer BlendFunc_CSCircular::NbVariables ( ) const [virtual]

Reimplemented from Blend_CSFunction.

void BlendFunc_CSCircular::operator delete ( void *  anAddress) [inline]

Reimplemented from Blend_CSFunction.

void* BlendFunc_CSCircular::operator new ( size_t  size) [inline]

Reimplemented from Blend_CSFunction.

void* BlendFunc_CSCircular::operator new ( size_t  ,
void *  anAddress 
) [inline]

Reimplemented from Blend_CSFunction.

Standard_Real BlendFunc_CSCircular::ParameterOnC ( ) const [virtual]

Implements Blend_CSFunction.

const gp_Pnt2d& BlendFunc_CSCircular::Pnt2d ( ) const [virtual]

Implements Blend_CSFunction.

const gp_Pnt& BlendFunc_CSCircular::PointOnC ( ) const [virtual]

Implements Blend_CSFunction.

const gp_Pnt& BlendFunc_CSCircular::PointOnS ( ) const [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Resolution ( const Standard_Integer  IC2d,
const Standard_Real  Tol,
Standard_Real &  TolU,
Standard_Real &  TolV 
) const [virtual]

Implements Blend_AppFunction.

Standard_Boolean BlendFunc_CSCircular::Section ( const Blend_Point &  P,
TColgp_Array1OfPnt &  Poles,
TColgp_Array1OfVec &  DPoles,
TColgp_Array1OfPnt2d &  Poles2d,
TColgp_Array1OfVec2d &  DPoles2d,
TColStd_Array1OfReal &  Weigths,
TColStd_Array1OfReal &  DWeigths 
) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Section ( const Standard_Real  Param,
const Standard_Real  U,
const Standard_Real  V,
const Standard_Real  W,
Standard_Real &  Pdeb,
Standard_Real &  Pfin,
gp_Circ &  C 
)
void BlendFunc_CSCircular::Section ( const Blend_Point &  P,
TColgp_Array1OfPnt &  Poles,
TColgp_Array1OfPnt2d &  Poles2d,
TColStd_Array1OfReal &  Weigths 
) [virtual]

Implements Blend_CSFunction.

virtual Standard_Boolean BlendFunc_CSCircular::Section ( const Blend_Point &  P,
TColgp_Array1OfPnt &  Poles,
TColgp_Array1OfVec &  DPoles,
TColgp_Array1OfVec &  D2Poles,
TColgp_Array1OfPnt2d &  Poles2d,
TColgp_Array1OfVec2d &  DPoles2d,
TColgp_Array1OfVec2d &  D2Poles2d,
TColStd_Array1OfReal &  Weigths,
TColStd_Array1OfReal &  DWeigths,
TColStd_Array1OfReal &  D2Weigths 
) [virtual]

Reimplemented from Blend_CSFunction.

void BlendFunc_CSCircular::Set ( const Standard_Real  Radius,
const Standard_Integer  Choix 
)
void BlendFunc_CSCircular::Set ( const BlendFunc_SectionShape  TypeSection)
void BlendFunc_CSCircular::Set ( const Standard_Real  First,
const Standard_Real  Last 
) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Set ( const Standard_Real  Param) [virtual]

Implements Blend_CSFunction.

void BlendFunc_CSCircular::Tangent ( const Standard_Real  U,
const Standard_Real  V,
gp_Vec &  TgS,
gp_Vec &  NormS 
) const [virtual]

Implements Blend_CSFunction.

const gp_Vec2d& BlendFunc_CSCircular::Tangent2d ( ) const [virtual]

Implements Blend_CSFunction.

const gp_Vec& BlendFunc_CSCircular::TangentOnC ( ) const [virtual]

Implements Blend_CSFunction.

const gp_Vec& BlendFunc_CSCircular::TangentOnS ( ) const [virtual]

Implements Blend_CSFunction.

Standard_Boolean BlendFunc_CSCircular::Value ( const math_Vector &  X,
math_Vector &  F 
) [virtual]

Implements Blend_CSFunction.

Standard_Boolean BlendFunc_CSCircular::Values ( const math_Vector &  X,
math_Vector &  F,
math_Matrix &  D 
) [virtual]

Implements Blend_CSFunction.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines