OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKFillet
BRepBlend


BRepBlend_SurfRstLineBuilder Class Reference

This class processes data resulting from
Blend_CSWalking taking in consideration the Surface
supporting the curve to detect the breakpoint.

The criteria of distribution of points on the line are detailed
because it is to be used in the calculatuon of values approached
by an approximation of functions continued basing on
Blend_SurfRstFunction.

Thus this pseudo path necessitates 3 criteria of regrouping :

1) exit of the domain of the curve

2) exit of the domain of the surface

3) stall as there is a solution to the problem
surf/surf within the domain of the surface
of support of the restriction.
.

#include <BRepBlend_SurfRstLineBuilder.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT BRepBlend_SurfRstLineBuilder (const Handle(Adaptor3d_HSurface)&Surf1, const Handle(Adaptor3d_TopolTool)&Domain1, const Handle(Adaptor3d_HSurface)&Surf2, const Handle(Adaptor2d_HCurve2d)&Rst, const Handle(Adaptor3d_TopolTool)&Domain2)
Standard_EXPORT void Perform (Blend_SurfRstFunction &Func, Blend_FuncInv &Finv, Blend_SurfPointFuncInv &FinvP, Blend_SurfCurvFuncInv &FinvC, const Standard_Real Pdep, const Standard_Real Pmax, const Standard_Real MaxStep, const Standard_Real TolGuide, const math_Vector &Soldep, const Standard_Real Tolesp, const Standard_Real Fleche, const Standard_Boolean Appro=Standard_False)
Standard_EXPORT Standard_Boolean PerformFirstSection (Blend_SurfRstFunction &Func, Blend_FuncInv &Finv, Blend_SurfPointFuncInv &FinvP, Blend_SurfCurvFuncInv &FinvC, const Standard_Real Pdep, const Standard_Real Pmax, const math_Vector &Soldep, const Standard_Real Tolesp, const Standard_Real TolGuide, const Standard_Boolean RecRst, const Standard_Boolean RecP, const Standard_Boolean RecS, Standard_Real &Psol, math_Vector &ParSol)
Standard_EXPORT Standard_Boolean Complete (Blend_SurfRstFunction &Func, Blend_FuncInv &Finv, Blend_SurfPointFuncInv &FinvP, Blend_SurfCurvFuncInv &FinvC, const Standard_Real Pmin)
Standard_EXPORT Standard_Integer ArcToRecadre (const math_Vector &Sol, const Standard_Integer PrevIndex, gp_Pnt2d &pt2d, gp_Pnt2d &lastpt2d, Standard_Real &ponarc)
Standard_Boolean IsDone () const
const Handle_BRepBlend_Line & Line () const
Standard_Boolean DecrochStart () const
Standard_Boolean DecrochEnd () const

Private Member Functions

Standard_EXPORT void InternalPerform (Blend_SurfRstFunction &Func, Blend_FuncInv &Finv, Blend_SurfPointFuncInv &FinvP, Blend_SurfCurvFuncInv &FinvC, const Standard_Real Bound)
Standard_EXPORT Standard_Boolean Recadre (Blend_SurfCurvFuncInv &FinvC, math_Vector &Solinv, Handle(Adaptor2d_HCurve2d)&Arc, Standard_Boolean &IsVtx, Handle(Adaptor3d_HVertex)&Vtx)
Standard_EXPORT Standard_Boolean Recadre (Blend_SurfRstFunction &Func, Blend_FuncInv &Finv, math_Vector &Solinv, Standard_Boolean &IsVtx, Handle(Adaptor3d_HVertex)&Vtx)
Standard_EXPORT Standard_Boolean Recadre (Blend_SurfPointFuncInv &FinvP, math_Vector &Solinv, Standard_Boolean &IsVtx, Handle(Adaptor3d_HVertex)&Vtx)
Standard_EXPORT void Transition (const Standard_Boolean OnFirst, const Handle(Adaptor2d_HCurve2d)&Arc, const Standard_Real Param, IntSurf_Transition &TLine, IntSurf_Transition &TArc)
Standard_EXPORT void MakeExtremity (BRepBlend_Extremity &Extrem, const Standard_Boolean OnFirst, const Handle(Adaptor2d_HCurve2d)&Arc, const Standard_Real Param, const Standard_Boolean IsVtx, const Handle(Adaptor3d_HVertex)&Vtx)
Standard_EXPORT Blend_Status CheckDeflectionOnSurf (const Blend_Point &CurPoint)
Standard_EXPORT Blend_Status CheckDeflectionOnRst (const Blend_Point &CurPoint)
Standard_EXPORT Blend_Status TestArret (Blend_SurfRstFunction &Func, const Standard_Boolean TestDeflection, const Blend_Status State)
Standard_EXPORT Standard_Boolean CheckInside (Blend_SurfRstFunction &Func, TopAbs_State &SituOnC, TopAbs_State &SituOnS, Standard_Boolean &Decroch)

Private Attributes

Standard_Boolean done
Handle_BRepBlend_Line line
math_Vector sol
Handle_Adaptor3d_HSurface surf1
Handle_Adaptor3d_TopolTool domain1
Handle_Adaptor3d_HSurface surf2
Handle_Adaptor2d_HCurve2d rst
Handle_Adaptor3d_TopolTool domain2
Standard_Real tolesp
Standard_Real tolgui
Standard_Real pasmax
Standard_Real fleche
Standard_Real param
Blend_Point previousP
Standard_Boolean rebrou
Standard_Boolean iscomplete
Standard_Boolean comptra
Standard_Real sens
Standard_Boolean decrochdeb
Standard_Boolean decrochfin


Constructor & Destructor Documentation

Standard_EXPORT BRepBlend_SurfRstLineBuilder::BRepBlend_SurfRstLineBuilder const Handle(Adaptor3d_HSurface)&  Surf1,
const Handle(Adaptor3d_TopolTool)&  Domain1,
const Handle(Adaptor3d_HSurface)&  Surf2,
const Handle(Adaptor2d_HCurve2d)&  Rst,
const Handle(Adaptor3d_TopolTool)&  Domain2
 


Member Function Documentation

Standard_EXPORT Standard_Integer BRepBlend_SurfRstLineBuilder::ArcToRecadre const math_Vector &  Sol,
const Standard_Integer  PrevIndex,
gp_Pnt2d &  pt2d,
gp_Pnt2d &  lastpt2d,
Standard_Real &  ponarc
 

Standard_EXPORT Blend_Status BRepBlend_SurfRstLineBuilder::CheckDeflectionOnRst const Blend_Point CurPoint  )  [private]
 

Standard_EXPORT Blend_Status BRepBlend_SurfRstLineBuilder::CheckDeflectionOnSurf const Blend_Point CurPoint  )  [private]
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::CheckInside Blend_SurfRstFunction Func,
TopAbs_State &  SituOnC,
TopAbs_State &  SituOnS,
Standard_Boolean Decroch
[private]
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::Complete Blend_SurfRstFunction Func,
Blend_FuncInv Finv,
Blend_SurfPointFuncInv FinvP,
Blend_SurfCurvFuncInv FinvC,
const Standard_Real  Pmin
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::DecrochEnd  )  const [inline]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::DecrochStart  )  const [inline]
 

Standard_EXPORT void BRepBlend_SurfRstLineBuilder::InternalPerform Blend_SurfRstFunction Func,
Blend_FuncInv Finv,
Blend_SurfPointFuncInv FinvP,
Blend_SurfCurvFuncInv FinvC,
const Standard_Real  Bound
[private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::IsDone  )  const [inline]
 

const Handle_BRepBlend_Line& BRepBlend_SurfRstLineBuilder::Line  )  const
 

Standard_EXPORT void BRepBlend_SurfRstLineBuilder::MakeExtremity BRepBlend_Extremity Extrem,
const Standard_Boolean  OnFirst,
const Handle(Adaptor2d_HCurve2d)&  Arc,
const Standard_Real  Param,
const Standard_Boolean  IsVtx,
const Handle(Adaptor3d_HVertex)&  Vtx
[private]
 

void BRepBlend_SurfRstLineBuilder::operator delete void *  anAddress  )  [inline]
 

void* BRepBlend_SurfRstLineBuilder::operator new size_t  size  )  [inline]
 

void* BRepBlend_SurfRstLineBuilder::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void BRepBlend_SurfRstLineBuilder::Perform Blend_SurfRstFunction Func,
Blend_FuncInv Finv,
Blend_SurfPointFuncInv FinvP,
Blend_SurfCurvFuncInv FinvC,
const Standard_Real  Pdep,
const Standard_Real  Pmax,
const Standard_Real  MaxStep,
const Standard_Real  TolGuide,
const math_Vector &  Soldep,
const Standard_Real  Tolesp,
const Standard_Real  Fleche,
const Standard_Boolean  Appro = Standard_False
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::PerformFirstSection Blend_SurfRstFunction Func,
Blend_FuncInv Finv,
Blend_SurfPointFuncInv FinvP,
Blend_SurfCurvFuncInv FinvC,
const Standard_Real  Pdep,
const Standard_Real  Pmax,
const math_Vector &  Soldep,
const Standard_Real  Tolesp,
const Standard_Real  TolGuide,
const Standard_Boolean  RecRst,
const Standard_Boolean  RecP,
const Standard_Boolean  RecS,
Standard_Real &  Psol,
math_Vector &  ParSol
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::Recadre Blend_SurfPointFuncInv FinvP,
math_Vector &  Solinv,
Standard_Boolean IsVtx,
Handle(Adaptor3d_HVertex)&  Vtx
[private]
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::Recadre Blend_SurfRstFunction Func,
Blend_FuncInv Finv,
math_Vector &  Solinv,
Standard_Boolean IsVtx,
Handle(Adaptor3d_HVertex)&  Vtx
[private]
 

Standard_EXPORT Standard_Boolean BRepBlend_SurfRstLineBuilder::Recadre Blend_SurfCurvFuncInv FinvC,
math_Vector &  Solinv,
Handle(Adaptor2d_HCurve2d)&  Arc,
Standard_Boolean IsVtx,
Handle(Adaptor3d_HVertex)&  Vtx
[private]
 

Standard_EXPORT Blend_Status BRepBlend_SurfRstLineBuilder::TestArret Blend_SurfRstFunction Func,
const Standard_Boolean  TestDeflection,
const Blend_Status  State
[private]
 

Standard_EXPORT void BRepBlend_SurfRstLineBuilder::Transition const Standard_Boolean  OnFirst,
const Handle(Adaptor2d_HCurve2d)&  Arc,
const Standard_Real  Param,
IntSurf_Transition TLine,
IntSurf_Transition TArc
[private]
 


Field Documentation

Standard_Boolean BRepBlend_SurfRstLineBuilder::comptra [private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::decrochdeb [private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::decrochfin [private]
 

Handle_Adaptor3d_TopolTool BRepBlend_SurfRstLineBuilder::domain1 [private]
 

Handle_Adaptor3d_TopolTool BRepBlend_SurfRstLineBuilder::domain2 [private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::done [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::fleche [private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::iscomplete [private]
 

Handle_BRepBlend_Line BRepBlend_SurfRstLineBuilder::line [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::param [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::pasmax [private]
 

Blend_Point BRepBlend_SurfRstLineBuilder::previousP [private]
 

Standard_Boolean BRepBlend_SurfRstLineBuilder::rebrou [private]
 

Handle_Adaptor2d_HCurve2d BRepBlend_SurfRstLineBuilder::rst [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::sens [private]
 

math_Vector BRepBlend_SurfRstLineBuilder::sol [private]
 

Handle_Adaptor3d_HSurface BRepBlend_SurfRstLineBuilder::surf1 [private]
 

Handle_Adaptor3d_HSurface BRepBlend_SurfRstLineBuilder::surf2 [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::tolesp [private]
 

Standard_Real BRepBlend_SurfRstLineBuilder::tolgui [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:41:02 2008 for OpenCASCADE by  doxygen 1.4.1