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

ModelingAlgorithms
TKGeomAlgo
IntPolyh


IntPolyh_MaillageAffinage Class Reference

#include <IntPolyh_MaillageAffinage.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT IntPolyh_MaillageAffinage (const Handle(Adaptor3d_HSurface)&S1, const Standard_Integer NbSU1, const Standard_Integer NbSV1, const Handle(Adaptor3d_HSurface)&S2, const Standard_Integer NbSU2, const Standard_Integer NbSV2, const Standard_Integer PRINT)
Standard_EXPORT IntPolyh_MaillageAffinage (const Handle(Adaptor3d_HSurface)&S1, const Handle(Adaptor3d_HSurface)&S2, const Standard_Integer PRINT)
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID)
 Compute points on one surface and fill an array of points;
standard (default) method
.
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const Standard_Boolean isShiftFwd)
 isShiftFwd flag is added. The purpose is to define shift
of points along normal to the surface in this point. The
shift length represents maximal deflection of triangulation.
The direction (forward or reversed regarding to normal
direction) is defined by isShiftFwd flag.
//! Compute points on one surface and fill an array of points;
advanced method

Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const TColStd_Array1OfReal &Upars, const TColStd_Array1OfReal &Vpars)
 Compute points on one surface and fill an array of points;
standard (default) method
.
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const Standard_Boolean isShiftFwd, const TColStd_Array1OfReal &Upars, const TColStd_Array1OfReal &Vpars)
 isShiftFwd flag is added. The purpose is to define shift
of points along normal to the surface in this point. The
shift length represents maximal deflection of triangulation.
The direction (forward or reversed regarding to normal
direction) is defined by isShiftFwd flag.
//! Compute points on one surface and fill an array of points;
advanced method

Standard_EXPORT void CommonBox (const Bnd_Box &B1, const Bnd_Box &B2, Standard_Real &xMin, Standard_Real &yMin, Standard_Real &zMin, Standard_Real &xMax, Standard_Real &yMax, Standard_Real &zMax)
 Compute the common box witch is the intersection
of the two bounding boxes, and mark the points of
the two surfaces that are inside.
.
Standard_EXPORT void FillArrayOfEdges (const Standard_Integer SurfID)
 Compute edges from the array of points
.
Standard_EXPORT void FillArrayOfTriangles (const Standard_Integer SurfID)
 Compute triangles from the array of points, and --
mark the triangles that use marked points by the
CommonBox function.
.
Standard_EXPORT void LinkEdges2Triangles ()
 fill the edge fields in Triangle object for the
two array of triangles.

Standard_EXPORT void CommonPartRefinement ()
 Refine systematicaly all marked triangles of both surfaces
.
Standard_EXPORT void LocalSurfaceRefinement (const Standard_Integer SurfId)
 Refine systematicaly all marked triangles of ONE surface
.
Standard_EXPORT void ComputeDeflections (const Standard_Integer SurfID)
 Compute deflection for all triangles of one
surface,and sort min and max of deflections
.
Standard_EXPORT void TrianglesDeflectionsRefinementBSB ()
 Refine both surfaces using BoundSortBox as --
rejection. The criterions used to refine a --
triangle are: The deflection The size of the --
bounding boxes (one surface may be very small
compared to the other)
.
Standard_EXPORT Standard_Integer TriContact (const IntPolyh_Point &P1, const IntPolyh_Point &P2, const IntPolyh_Point &P3, const IntPolyh_Point &Q1, const IntPolyh_Point &Q2, const IntPolyh_Point &Q3, Standard_Real &Angle) const
 This fonction Check if two triangles are in
contact or no, return 1 if yes, return 0
if no.
.
Standard_EXPORT Standard_Integer TriangleEdgeContact (const Standard_Integer TriSurfID, const Standard_Integer EdgeIndice, const IntPolyh_Point &P1, const IntPolyh_Point &P2, const IntPolyh_Point &P3, const IntPolyh_Point &C1, const IntPolyh_Point &C2, const IntPolyh_Point &C3, const IntPolyh_Point &Pe1, const IntPolyh_Point &Pe2, const IntPolyh_Point &E, const IntPolyh_Point &N, IntPolyh_StartPoint &SP1, IntPolyh_StartPoint &SP2) const
Standard_EXPORT Standard_Integer TriangleEdgeContact2 (const Standard_Integer TriSurfID, const Standard_Integer EdgeIndice, const IntPolyh_Triangle &Tri1, const IntPolyh_Triangle &Tri2, const IntPolyh_Point &P1, const IntPolyh_Point &P2, const IntPolyh_Point &P3, const IntPolyh_Point &C1, const IntPolyh_Point &C2, const IntPolyh_Point &C3, const IntPolyh_Point &Pe1, const IntPolyh_Point &Pe2, const IntPolyh_Point &E, const IntPolyh_Point &N, IntPolyh_StartPoint &SP1, IntPolyh_StartPoint &SP2) const
Standard_EXPORT Standard_Integer StartingPointsResearch (const Standard_Integer T1, const Standard_Integer T2, IntPolyh_StartPoint &SP1, IntPolyh_StartPoint &SP2) const
Standard_EXPORT Standard_Integer StartingPointsResearch2 (const Standard_Integer T1, const Standard_Integer T2, IntPolyh_StartPoint &SP1, IntPolyh_StartPoint &SP2) const
 From two triangles compute intersection points.
If I found more than two intersection points
that's mean that those triangle are coplanar
.
Standard_EXPORT Standard_Integer NextStartingPointsResearch (const Standard_Integer T1, const Standard_Integer T2, const IntPolyh_StartPoint &SPInit, IntPolyh_StartPoint &SPNext) const
Standard_EXPORT Standard_Integer NextStartingPointsResearch2 (const Standard_Integer T1, const Standard_Integer T2, const IntPolyh_StartPoint &SPInit, IntPolyh_StartPoint &SPNext) const
 from two triangles and an intersection point I
seach the other point (if it exist).
This function is used by StartPointChain

Standard_EXPORT Standard_Integer TriangleCompare ()
 Analyse each couple of triangles from the two --
array of triangles, to see if they are in
contact, and compute the incidence. Then put
couples in contact in the array of couples
.
Standard_EXPORT Standard_Integer TriangleComparePSP ()
 The same as TriangleCompare, plus compute the
StartPoints without chaining them.
.
Standard_EXPORT void StartPointsCalcul () const
 From the array of couples compute all the start
points and display them on the screen
.
Standard_EXPORT Standard_Integer StartPointsChain (IntPolyh_ArrayOfSectionLines &TSectionLines, IntPolyh_ArrayOfTangentZones &TTangentZones)
 Loop on the array of couples. Compute StartPoints.
Try to chain the StartPoints into SectionLines or
put the point in the ArrayOfTangentZones if
chaining it, is not possible.
.
Standard_EXPORT Standard_Integer GetNextChainStartPoint (const IntPolyh_StartPoint &SPInit, IntPolyh_StartPoint &SPNext, IntPolyh_SectionLine &MySectionLine, IntPolyh_ArrayOfTangentZones &TTangentZones, const Standard_Boolean Prepend=Standard_False)
 Mainly used by StartPointsChain(), this function
try to compute the next StartPoint.
.
Standard_EXPORT const IntPolyh_ArrayOfPointsGetArrayOfPoints (const Standard_Integer SurfID) const
Standard_EXPORT const IntPolyh_ArrayOfEdgesGetArrayOfEdges (const Standard_Integer SurfID) const
Standard_EXPORT const IntPolyh_ArrayOfTrianglesGetArrayOfTriangles (const Standard_Integer SurfID) const
Standard_EXPORT Standard_Integer GetFinTE (const Standard_Integer SurfID) const
Standard_EXPORT Standard_Integer GetFinTT (const Standard_Integer SurfID) const
Standard_EXPORT Bnd_Box GetBox (const Standard_Integer SurfID) const
Standard_EXPORT void GetBoxDraw (const Standard_Integer SurfID) const
Standard_EXPORT const IntPolyh_ArrayOfStartPointsGetArrayOfSP () const
Standard_EXPORT IntPolyh_ArrayOfCouplesGetArrayOfCouples ()
 This method returns array of couples of contact triangles.
.
Standard_EXPORT void SetEnlargeZone (Standard_Boolean &EnlargeZone)
Standard_EXPORT Standard_Boolean GetEnlargeZone () const

Private Attributes

Handle_Adaptor3d_HSurface MaSurface1
Handle_Adaptor3d_HSurface MaSurface2
Bnd_Box MyBox1
Bnd_Box MyBox2
Standard_Integer NbSamplesU1
Standard_Integer NbSamplesU2
Standard_Integer NbSamplesV1
Standard_Integer NbSamplesV2
Standard_Real FlecheMax1
Standard_Real FlecheMax2
Standard_Real FlecheMin1
Standard_Real FlecheMin2
Standard_Real FlecheMoy1
Standard_Real FlecheMoy2
IntPolyh_ArrayOfPoints TPoints1
IntPolyh_ArrayOfPoints TPoints2
IntPolyh_ArrayOfEdges TEdges1
IntPolyh_ArrayOfEdges TEdges2
IntPolyh_ArrayOfTriangles TTriangles1
IntPolyh_ArrayOfTriangles TTriangles2
IntPolyh_ArrayOfCouples TTrianglesContacts
IntPolyh_ArrayOfStartPoints TStartPoints
Standard_Boolean myEnlargeZone


Constructor & Destructor Documentation

Standard_EXPORT IntPolyh_MaillageAffinage::IntPolyh_MaillageAffinage const Handle(Adaptor3d_HSurface)&  S1,
const Standard_Integer  NbSU1,
const Standard_Integer  NbSV1,
const Handle(Adaptor3d_HSurface)&  S2,
const Standard_Integer  NbSU2,
const Standard_Integer  NbSV2,
const Standard_Integer  PRINT
 

Standard_EXPORT IntPolyh_MaillageAffinage::IntPolyh_MaillageAffinage const Handle(Adaptor3d_HSurface)&  S1,
const Handle(Adaptor3d_HSurface)&  S2,
const Standard_Integer  PRINT
 


Member Function Documentation

Standard_EXPORT void IntPolyh_MaillageAffinage::CommonBox const Bnd_Box &  B1,
const Bnd_Box &  B2,
Standard_Real &  xMin,
Standard_Real &  yMin,
Standard_Real &  zMin,
Standard_Real &  xMax,
Standard_Real &  yMax,
Standard_Real &  zMax
 

Standard_EXPORT void IntPolyh_MaillageAffinage::CommonPartRefinement  ) 
 

Standard_EXPORT void IntPolyh_MaillageAffinage::ComputeDeflections const Standard_Integer  SurfID  ) 
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfEdges const Standard_Integer  SurfID  ) 
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfPnt const Standard_Integer  SurfID,
const Standard_Boolean  isShiftFwd,
const TColStd_Array1OfReal &  Upars,
const TColStd_Array1OfReal &  Vpars
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfPnt const Standard_Integer  SurfID,
const TColStd_Array1OfReal &  Upars,
const TColStd_Array1OfReal &  Vpars
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfPnt const Standard_Integer  SurfID,
const Standard_Boolean  isShiftFwd
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfPnt const Standard_Integer  SurfID  ) 
 

Standard_EXPORT void IntPolyh_MaillageAffinage::FillArrayOfTriangles const Standard_Integer  SurfID  ) 
 

Standard_EXPORT IntPolyh_ArrayOfCouples& IntPolyh_MaillageAffinage::GetArrayOfCouples  ) 
 

Standard_EXPORT const IntPolyh_ArrayOfEdges& IntPolyh_MaillageAffinage::GetArrayOfEdges const Standard_Integer  SurfID  )  const
 

Standard_EXPORT const IntPolyh_ArrayOfPoints& IntPolyh_MaillageAffinage::GetArrayOfPoints const Standard_Integer  SurfID  )  const
 

Standard_EXPORT const IntPolyh_ArrayOfStartPoints& IntPolyh_MaillageAffinage::GetArrayOfSP  )  const
 

Standard_EXPORT const IntPolyh_ArrayOfTriangles& IntPolyh_MaillageAffinage::GetArrayOfTriangles const Standard_Integer  SurfID  )  const
 

Standard_EXPORT Bnd_Box IntPolyh_MaillageAffinage::GetBox const Standard_Integer  SurfID  )  const
 

Standard_EXPORT void IntPolyh_MaillageAffinage::GetBoxDraw const Standard_Integer  SurfID  )  const
 

Standard_EXPORT Standard_Boolean IntPolyh_MaillageAffinage::GetEnlargeZone  )  const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::GetFinTE const Standard_Integer  SurfID  )  const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::GetFinTT const Standard_Integer  SurfID  )  const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::GetNextChainStartPoint const IntPolyh_StartPoint SPInit,
IntPolyh_StartPoint SPNext,
IntPolyh_SectionLine MySectionLine,
IntPolyh_ArrayOfTangentZones TTangentZones,
const Standard_Boolean  Prepend = Standard_False
 

Standard_EXPORT void IntPolyh_MaillageAffinage::LinkEdges2Triangles  ) 
 

Standard_EXPORT void IntPolyh_MaillageAffinage::LocalSurfaceRefinement const Standard_Integer  SurfId  ) 
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::NextStartingPointsResearch const Standard_Integer  T1,
const Standard_Integer  T2,
const IntPolyh_StartPoint SPInit,
IntPolyh_StartPoint SPNext
const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::NextStartingPointsResearch2 const Standard_Integer  T1,
const Standard_Integer  T2,
const IntPolyh_StartPoint SPInit,
IntPolyh_StartPoint SPNext
const
 

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

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

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

Standard_EXPORT void IntPolyh_MaillageAffinage::SetEnlargeZone Standard_Boolean EnlargeZone  ) 
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::StartingPointsResearch const Standard_Integer  T1,
const Standard_Integer  T2,
IntPolyh_StartPoint SP1,
IntPolyh_StartPoint SP2
const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::StartingPointsResearch2 const Standard_Integer  T1,
const Standard_Integer  T2,
IntPolyh_StartPoint SP1,
IntPolyh_StartPoint SP2
const
 

Standard_EXPORT void IntPolyh_MaillageAffinage::StartPointsCalcul  )  const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::StartPointsChain IntPolyh_ArrayOfSectionLines TSectionLines,
IntPolyh_ArrayOfTangentZones TTangentZones
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::TriangleCompare  ) 
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::TriangleComparePSP  ) 
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::TriangleEdgeContact const Standard_Integer  TriSurfID,
const Standard_Integer  EdgeIndice,
const IntPolyh_Point P1,
const IntPolyh_Point P2,
const IntPolyh_Point P3,
const IntPolyh_Point C1,
const IntPolyh_Point C2,
const IntPolyh_Point C3,
const IntPolyh_Point Pe1,
const IntPolyh_Point Pe2,
const IntPolyh_Point E,
const IntPolyh_Point N,
IntPolyh_StartPoint SP1,
IntPolyh_StartPoint SP2
const
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::TriangleEdgeContact2 const Standard_Integer  TriSurfID,
const Standard_Integer  EdgeIndice,
const IntPolyh_Triangle Tri1,
const IntPolyh_Triangle Tri2,
const IntPolyh_Point P1,
const IntPolyh_Point P2,
const IntPolyh_Point P3,
const IntPolyh_Point C1,
const IntPolyh_Point C2,
const IntPolyh_Point C3,
const IntPolyh_Point Pe1,
const IntPolyh_Point Pe2,
const IntPolyh_Point E,
const IntPolyh_Point N,
IntPolyh_StartPoint SP1,
IntPolyh_StartPoint SP2
const
 

Standard_EXPORT void IntPolyh_MaillageAffinage::TrianglesDeflectionsRefinementBSB  ) 
 

Standard_EXPORT Standard_Integer IntPolyh_MaillageAffinage::TriContact const IntPolyh_Point P1,
const IntPolyh_Point P2,
const IntPolyh_Point P3,
const IntPolyh_Point Q1,
const IntPolyh_Point Q2,
const IntPolyh_Point Q3,
Standard_Real &  Angle
const
 


Field Documentation

Standard_Real IntPolyh_MaillageAffinage::FlecheMax1 [private]
 

Standard_Real IntPolyh_MaillageAffinage::FlecheMax2 [private]
 

Standard_Real IntPolyh_MaillageAffinage::FlecheMin1 [private]
 

Standard_Real IntPolyh_MaillageAffinage::FlecheMin2 [private]
 

Standard_Real IntPolyh_MaillageAffinage::FlecheMoy1 [private]
 

Standard_Real IntPolyh_MaillageAffinage::FlecheMoy2 [private]
 

Handle_Adaptor3d_HSurface IntPolyh_MaillageAffinage::MaSurface1 [private]
 

Handle_Adaptor3d_HSurface IntPolyh_MaillageAffinage::MaSurface2 [private]
 

Bnd_Box IntPolyh_MaillageAffinage::MyBox1 [private]
 

Bnd_Box IntPolyh_MaillageAffinage::MyBox2 [private]
 

Standard_Boolean IntPolyh_MaillageAffinage::myEnlargeZone [private]
 

Standard_Integer IntPolyh_MaillageAffinage::NbSamplesU1 [private]
 

Standard_Integer IntPolyh_MaillageAffinage::NbSamplesU2 [private]
 

Standard_Integer IntPolyh_MaillageAffinage::NbSamplesV1 [private]
 

Standard_Integer IntPolyh_MaillageAffinage::NbSamplesV2 [private]
 

IntPolyh_ArrayOfEdges IntPolyh_MaillageAffinage::TEdges1 [private]
 

IntPolyh_ArrayOfEdges IntPolyh_MaillageAffinage::TEdges2 [private]
 

IntPolyh_ArrayOfPoints IntPolyh_MaillageAffinage::TPoints1 [private]
 

IntPolyh_ArrayOfPoints IntPolyh_MaillageAffinage::TPoints2 [private]
 

IntPolyh_ArrayOfStartPoints IntPolyh_MaillageAffinage::TStartPoints [private]
 

IntPolyh_ArrayOfTriangles IntPolyh_MaillageAffinage::TTriangles1 [private]
 

IntPolyh_ArrayOfTriangles IntPolyh_MaillageAffinage::TTriangles2 [private]
 

IntPolyh_ArrayOfCouples IntPolyh_MaillageAffinage::TTrianglesContacts [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:42:17 2008 for OpenCASCADE by  doxygen 1.4.1