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

ModelingAlgorithms
TKFillet
ChFi2d


ChFi2d_Builder Class Reference

This class contains the algorithm used to build
fillet on planar wire.
.

#include <ChFi2d_Builder.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT ChFi2d_Builder ()
Standard_EXPORT ChFi2d_Builder (const TopoDS_Face &F)
 The face <f> can be build on a closed or an open
wire.
.
Standard_EXPORT void Init (const TopoDS_Face &F)
Standard_EXPORT void Init (const TopoDS_Face &RefFace, const TopoDS_Face &ModFace)
Standard_EXPORT TopoDS_Edge AddFillet (const TopoDS_Vertex &V, const Standard_Real Radius)
 Add a fillet of radius <radius> on the wire
between the two edges connected to the vertex <v>.
<addfillet> returns the fillet edge. The returned
edge has sense only if the status <status> is
<isdone>
.
Standard_EXPORT TopoDS_Edge ModifyFillet (const TopoDS_Edge &Fillet, const Standard_Real Radius)
 modify the fillet radius and return the new fillet
edge. this edge has sense only if the status
<status> is <isdone>.

Standard_EXPORT TopoDS_Vertex RemoveFillet (const TopoDS_Edge &Fillet)
 removes the fillet <fillet> and returns the vertex
connecting the two adjacent edges to this fillet.

Standard_EXPORT TopoDS_Edge AddChamfer (const TopoDS_Edge &E1, const TopoDS_Edge &E2, const Standard_Real D1, const Standard_Real D2)
 Add a chamfer on the wire between the two edges
connected <e1> and <e2>. <addchamfer> returns the
chamfer edge. This edge has sense only if the
status <status> is <isdone>.
.
Standard_EXPORT TopoDS_Edge AddChamfer (const TopoDS_Edge &E, const TopoDS_Vertex &V, const Standard_Real D, const Standard_Real Ang)
 Add a chamfer on the wire between the two edges
connected to the vertex <v>. The chamfer will make
an angle <ang> with the edge <e>, and one of its
extremities will be on <e> at distance <d>. The
returned edge has sense only if the status
<status> is <isdone>.
Warning: The value of <ang> must be expressed in Radian.
.
Standard_EXPORT TopoDS_Edge ModifyChamfer (const TopoDS_Edge &Chamfer, const TopoDS_Edge &E1, const TopoDS_Edge &E2, const Standard_Real D1, const Standard_Real D2)
 modify the chamfer <chamfer> and returns the new
chamfer edge.
This edge as sense only if the status <status> is
<isdone>.

Standard_EXPORT TopoDS_Edge ModifyChamfer (const TopoDS_Edge &Chamfer, const TopoDS_Edge &E, const Standard_Real D, const Standard_Real Ang)
 modify the chamfer <chamfer> and returns the new
chamfer edge. This edge as sense only if the
status <status> is <isdone>.
Warning: The value of <ang> must be expressed in Radian.

Standard_EXPORT TopoDS_Vertex RemoveChamfer (const TopoDS_Edge &Chamfer)
 removes the chamfer <chamfer> and returns the
vertex connecting the two adjacent edges to this
chamfer.

TopoDS_Face Result () const
 returns the modified face

Standard_Boolean IsModified (const TopoDS_Edge &E) const
const TopTools_SequenceOfShape & FilletEdges () const
 returns the list of new edges

Standard_Integer NbFillet () const
const TopTools_SequenceOfShape & ChamferEdges () const
 returns the list of new edges

Standard_Integer NbChamfer () const
Standard_Boolean HasDescendant (const TopoDS_Edge &E) const
const TopoDS_Edge & DescendantEdge (const TopoDS_Edge &E) const
 returns the modified edge if <e> has descendant or
<e> in the other case.

Standard_EXPORT const TopoDS_Edge & BasisEdge (const TopoDS_Edge &E) const
 Returns the parent edge of <e>
Warning: If <e>is a basis edge, the returned edge would be
equal to <e>
.
ChFi2d_ConstructionError Status () const

Private Member Functions

Standard_EXPORT void ComputeFillet (const TopoDS_Vertex &V, const TopoDS_Edge &E1, const TopoDS_Edge &E2, const Standard_Real Radius, TopoDS_Edge &TrimE1, TopoDS_Edge &TrimE2, TopoDS_Edge &Fillet)
 Is internaly used by <addfillet>.
Warning: <trime1>, <trime2>, <fillet> has sense only if the
status <status> is equal to <isdone>
.
Standard_EXPORT void ComputeChamfer (const TopoDS_Vertex &V, const TopoDS_Edge &E1, const TopoDS_Edge &E2, const Standard_Real D1, const Standard_Real D2, TopoDS_Edge &TrimE1, TopoDS_Edge &TrimE2, TopoDS_Edge &Chamfer)
 Is internaly used by <addchamfer>. The chamfer is
computed from a vertex, two edges and two
distances
Warning: <trime1>, <trime2> and <chamfer> has sense only if
if the status <status> is equal to <isdone>
.
Standard_EXPORT void ComputeChamfer (const TopoDS_Vertex &V, const TopoDS_Edge &E1, const Standard_Real D, const Standard_Real Ang, const TopoDS_Edge &E2, TopoDS_Edge &TrimE1, TopoDS_Edge &TrimE2, TopoDS_Edge &Chamfer)
 Is internaly used by <addchamfer>. The chamfer is
computed from an edge, a vertex, a distance
and an angle
Warning: <trime1>, <trime2>, and <chamfer> has
sense only if the status <status> is equal to
<isdone>
.
Standard_EXPORT TopoDS_Edge BuildFilletEdge (const TopoDS_Vertex &V, const TopoDS_Edge &AdjEdge1, const TopoDS_Edge &AdjEdge2, const Standard_Real Radius, TopoDS_Vertex &NewExtr1, TopoDS_Vertex &NewExtr2)
 Is internaly used by <computefillet>.
<newextr1> and <newextr2> will contains the new
extremities of <adjedge1> and <adjedge2>
Warning: The returned edge has sense only if the status
<status> is equal to <isdone>
or to one of those specific cases :
<firstedgedegenerated>
<lastedgedegenerated>
<bothedgesdegenerated>
.
Standard_EXPORT TopoDS_Edge BuildChamferEdge (const TopoDS_Vertex &V, const TopoDS_Edge &AdjEdge1, const TopoDS_Edge &AdjEdge2, const Standard_Real D1, const Standard_Real D2, TopoDS_Vertex &NewExtr1, TopoDS_Vertex &NewExtr2)
 Is internaly used by <computefillet>.
<newextr1> and <newextr2> will contains the new
extremities of <adjedge1> and <adjedge2>
Warning: The returned edge has sense only if the status
<status> is equal to <isdone>
.
Standard_EXPORT TopoDS_Edge BuildChamferEdge (const TopoDS_Vertex &V, const TopoDS_Edge &AdjEdge2, const Standard_Real D, const Standard_Real Ang, const TopoDS_Edge &AdjEdge1, TopoDS_Vertex &NewExtr1, TopoDS_Vertex &NewExtr2)
 Is internaly used by <computefillet>.
<newextr1> and <newextr2> will contains the new
extremities of <adjedge1> and <adjedge2>
Warning: The returned edge has sense only if the status
<status> is equal to <isdone>
.
Standard_EXPORT void BuildNewWire (const TopoDS_Edge &OldE1, const TopoDS_Edge &OldE2, const TopoDS_Edge &E1, const TopoDS_Edge &Fillet, const TopoDS_Edge &E2)
 replaces in the new face <newface> <olde1> and
<olde2> by <e1>, <fillet> and <e2>
or by <fillet> and <e2> if <e1> is degenerated
or by <e1> and <fillet> if <e2> is degenerated
or by <fillet> if <e1> and <e2> are degenerated .

Standard_EXPORT TopoDS_Edge BuildNewEdge (const TopoDS_Edge &E1, const TopoDS_Vertex &OldExtr, const TopoDS_Vertex &NewExtr) const
 Changes <oldextr> of <e1> by <newextr>
.
Standard_EXPORT TopoDS_Edge BuildNewEdge (const TopoDS_Edge &E1, const TopoDS_Vertex &OldExtr, const TopoDS_Vertex &NewExtr, Standard_Boolean &IsDegenerated) const
 Changes <oldextr> of <e1> by <newextr>
returns E1 and IsDegenerated = Standard_True
if the new edge is degenerated
.
Standard_EXPORT void UpDateHistory (const TopoDS_Edge &E1, const TopoDS_Edge &E2, const TopoDS_Edge &TrimE1, const TopoDS_Edge &TrimE2, const TopoDS_Edge &NewEdge, const Standard_Integer Id)
 Writes <newedge> in <fillets> if <id> is equal to
1, or in <chamfers> if <id> is Equal to 2.
Writes the modifications in <history> :
<trime1> is given by <e1>, <trime2> by <e2>
if <trime1> and <trime2> are not degenerated.
.
Standard_EXPORT void UpDateHistory (const TopoDS_Edge &E1, const TopoDS_Edge &E2, const TopoDS_Edge &TrimE1, const TopoDS_Edge &TrimE2)
 Writes the modifications in <history> . <trime1>
is given by <e1>, <trime2> by <e2>.
.
Standard_EXPORT Standard_Boolean IsAFillet (const TopoDS_Edge &E) const
Standard_EXPORT Standard_Boolean IsAChamfer (const TopoDS_Edge &E) const

Private Attributes

ChFi2d_ConstructionError status
TopoDS_Face refFace
TopoDS_Face newFace
TopTools_SequenceOfShape fillets
TopTools_SequenceOfShape chamfers
TopTools_DataMapOfShapeShape history


Constructor & Destructor Documentation

Standard_EXPORT ChFi2d_Builder::ChFi2d_Builder  ) 
 

Standard_EXPORT ChFi2d_Builder::ChFi2d_Builder const TopoDS_Face &  F  ) 
 


Member Function Documentation

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::AddChamfer const TopoDS_Edge &  E,
const TopoDS_Vertex &  V,
const Standard_Real  D,
const Standard_Real  Ang
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::AddChamfer const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const Standard_Real  D1,
const Standard_Real  D2
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::AddFillet const TopoDS_Vertex &  V,
const Standard_Real  Radius
 

Standard_EXPORT const TopoDS_Edge& ChFi2d_Builder::BasisEdge const TopoDS_Edge &  E  )  const
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::BuildChamferEdge const TopoDS_Vertex &  V,
const TopoDS_Edge &  AdjEdge2,
const Standard_Real  D,
const Standard_Real  Ang,
const TopoDS_Edge &  AdjEdge1,
TopoDS_Vertex &  NewExtr1,
TopoDS_Vertex &  NewExtr2
[private]
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::BuildChamferEdge const TopoDS_Vertex &  V,
const TopoDS_Edge &  AdjEdge1,
const TopoDS_Edge &  AdjEdge2,
const Standard_Real  D1,
const Standard_Real  D2,
TopoDS_Vertex &  NewExtr1,
TopoDS_Vertex &  NewExtr2
[private]
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::BuildFilletEdge const TopoDS_Vertex &  V,
const TopoDS_Edge &  AdjEdge1,
const TopoDS_Edge &  AdjEdge2,
const Standard_Real  Radius,
TopoDS_Vertex &  NewExtr1,
TopoDS_Vertex &  NewExtr2
[private]
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::BuildNewEdge const TopoDS_Edge &  E1,
const TopoDS_Vertex &  OldExtr,
const TopoDS_Vertex &  NewExtr,
Standard_Boolean IsDegenerated
const [private]
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::BuildNewEdge const TopoDS_Edge &  E1,
const TopoDS_Vertex &  OldExtr,
const TopoDS_Vertex &  NewExtr
const [private]
 

Standard_EXPORT void ChFi2d_Builder::BuildNewWire const TopoDS_Edge &  OldE1,
const TopoDS_Edge &  OldE2,
const TopoDS_Edge &  E1,
const TopoDS_Edge &  Fillet,
const TopoDS_Edge &  E2
[private]
 

const TopTools_SequenceOfShape & ChFi2d_Builder::ChamferEdges  )  const [inline]
 

Standard_EXPORT void ChFi2d_Builder::ComputeChamfer const TopoDS_Vertex &  V,
const TopoDS_Edge &  E1,
const Standard_Real  D,
const Standard_Real  Ang,
const TopoDS_Edge &  E2,
TopoDS_Edge &  TrimE1,
TopoDS_Edge &  TrimE2,
TopoDS_Edge &  Chamfer
[private]
 

Standard_EXPORT void ChFi2d_Builder::ComputeChamfer const TopoDS_Vertex &  V,
const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const Standard_Real  D1,
const Standard_Real  D2,
TopoDS_Edge &  TrimE1,
TopoDS_Edge &  TrimE2,
TopoDS_Edge &  Chamfer
[private]
 

Standard_EXPORT void ChFi2d_Builder::ComputeFillet const TopoDS_Vertex &  V,
const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const Standard_Real  Radius,
TopoDS_Edge &  TrimE1,
TopoDS_Edge &  TrimE2,
TopoDS_Edge &  Fillet
[private]
 

const TopoDS_Edge & ChFi2d_Builder::DescendantEdge const TopoDS_Edge &  E  )  const [inline]
 

const TopTools_SequenceOfShape & ChFi2d_Builder::FilletEdges  )  const [inline]
 

Standard_Boolean ChFi2d_Builder::HasDescendant const TopoDS_Edge &  E  )  const [inline]
 

Standard_EXPORT void ChFi2d_Builder::Init const TopoDS_Face &  RefFace,
const TopoDS_Face &  ModFace
 

Standard_EXPORT void ChFi2d_Builder::Init const TopoDS_Face &  F  ) 
 

Standard_EXPORT Standard_Boolean ChFi2d_Builder::IsAChamfer const TopoDS_Edge &  E  )  const [private]
 

Standard_EXPORT Standard_Boolean ChFi2d_Builder::IsAFillet const TopoDS_Edge &  E  )  const [private]
 

Standard_Boolean ChFi2d_Builder::IsModified const TopoDS_Edge &  E  )  const [inline]
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::ModifyChamfer const TopoDS_Edge &  Chamfer,
const TopoDS_Edge &  E,
const Standard_Real  D,
const Standard_Real  Ang
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::ModifyChamfer const TopoDS_Edge &  Chamfer,
const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const Standard_Real  D1,
const Standard_Real  D2
 

Standard_EXPORT TopoDS_Edge ChFi2d_Builder::ModifyFillet const TopoDS_Edge &  Fillet,
const Standard_Real  Radius
 

Standard_Integer ChFi2d_Builder::NbChamfer  )  const [inline]
 

Standard_Integer ChFi2d_Builder::NbFillet  )  const [inline]
 

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

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

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

Standard_EXPORT TopoDS_Vertex ChFi2d_Builder::RemoveChamfer const TopoDS_Edge &  Chamfer  ) 
 

Standard_EXPORT TopoDS_Vertex ChFi2d_Builder::RemoveFillet const TopoDS_Edge &  Fillet  ) 
 

TopoDS_Face ChFi2d_Builder::Result  )  const [inline]
 

ChFi2d_ConstructionError ChFi2d_Builder::Status  )  const [inline]
 

Standard_EXPORT void ChFi2d_Builder::UpDateHistory const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const TopoDS_Edge &  TrimE1,
const TopoDS_Edge &  TrimE2
[private]
 

Standard_EXPORT void ChFi2d_Builder::UpDateHistory const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2,
const TopoDS_Edge &  TrimE1,
const TopoDS_Edge &  TrimE2,
const TopoDS_Edge &  NewEdge,
const Standard_Integer  Id
[private]
 


Field Documentation

TopTools_SequenceOfShape ChFi2d_Builder::chamfers [private]
 

TopTools_SequenceOfShape ChFi2d_Builder::fillets [private]
 

TopTools_DataMapOfShapeShape ChFi2d_Builder::history [private]
 

TopoDS_Face ChFi2d_Builder::newFace [private]
 

TopoDS_Face ChFi2d_Builder::refFace [private]
 

ChFi2d_ConstructionError ChFi2d_Builder::status [private]
 


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