mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-02 12:30:34 +05:00
149 lines
4.9 KiB
Plaintext
149 lines
4.9 KiB
Plaintext
|
-- File : Partition_Inter3d.cdl
|
||
|
-- Created: Thu Aug 02 16:07:39 2001
|
||
|
-- Author : Benedicte MARTIN
|
||
|
--
|
||
|
---Copyright: OPEN CASCADE 2001
|
||
|
|
||
|
|
||
|
class Inter3d from Partition
|
||
|
|
||
|
---Purpose: Computes the intersection face face in a set of faces
|
||
|
-- Store the result in a SD as AsDes.
|
||
|
|
||
|
uses
|
||
|
Edge from TopoDS,
|
||
|
Vertex from TopoDS,
|
||
|
DataMapOfShapeShape from TopTools,
|
||
|
MapOfShape from TopTools,
|
||
|
Boolean from Standard,
|
||
|
AsDes from BRepAlgo,
|
||
|
Image from BRepAlgo,
|
||
|
Shape from TopoDS,
|
||
|
Face from TopoDS,
|
||
|
ListOfShape from TopTools,
|
||
|
Real from Standard,
|
||
|
State from TopAbs,
|
||
|
DataMapOfShapeListOfShape from TopTools
|
||
|
|
||
|
is
|
||
|
Create returns Inter3d from Partition;
|
||
|
|
||
|
Create(AsDes : mutable AsDes from BRepAlgo);
|
||
|
|
||
|
CompletPart3d (me : in out; SetOfFaces1 : ListOfShape from TopTools;
|
||
|
FaceShapeMap: DataMapOfShapeShape from TopTools)
|
||
|
is static;
|
||
|
|
||
|
FacesPartition (me : in out; F1, F2 : Face from TopoDS)
|
||
|
is static;
|
||
|
|
||
|
----------------------------
|
||
|
---Category: Result Querying
|
||
|
----------------------------
|
||
|
|
||
|
IsDone(me ; F1,F2 : Face from TopoDS)
|
||
|
returns Boolean from Standard is static;
|
||
|
---Purpose: return True if F1-F2 pair has been processed
|
||
|
|
||
|
TouchedFaces(me : in out) returns MapOfShape from TopTools
|
||
|
---C++: return &
|
||
|
is static;
|
||
|
---Purpose: return map of
|
||
|
|
||
|
AsDes(me) returns AsDes from BRepAlgo
|
||
|
is static;
|
||
|
|
||
|
NewEdges(me : in out) returns MapOfShape from TopTools
|
||
|
---C++: return &
|
||
|
is static;
|
||
|
|
||
|
-------------------------------
|
||
|
---Category: Same domain shapes
|
||
|
-------------------------------
|
||
|
|
||
|
HasSameDomainF(me; F : Shape from TopoDS)
|
||
|
returns Boolean from Standard;
|
||
|
---Purpose: Return true if F has same domain faces
|
||
|
|
||
|
IsSameDomainF(me; F1, F2 : Shape from TopoDS)
|
||
|
returns Boolean from Standard;
|
||
|
---Purpose: Return true if F1 and F2 are same domain faces
|
||
|
|
||
|
SameDomain(me; F : Face from TopoDS)
|
||
|
returns ListOfShape from TopTools;
|
||
|
---C++: return const &
|
||
|
---Purpose: Return same domain faces of F
|
||
|
|
||
|
ReplaceSameDomainV (me; V : Vertex from TopoDS;
|
||
|
E : Edge from TopoDS)
|
||
|
returns Vertex from TopoDS;
|
||
|
---Purpose: return same domain vertex of V if it was replaced
|
||
|
-- and make this vertex to be on E too, else return V
|
||
|
|
||
|
--------------------------
|
||
|
---Category: Section edges
|
||
|
--------------------------
|
||
|
|
||
|
SectionEdgesAD (me) returns AsDes from BRepAlgo
|
||
|
is static;
|
||
|
|
||
|
IsSectionEdge (me; E : Edge from TopoDS)
|
||
|
returns Boolean from Standard;
|
||
|
---Purpose: return True if E is an edge of a face and it
|
||
|
-- intersects an other face
|
||
|
|
||
|
HasSectionEdge (me; F : Face from TopoDS)
|
||
|
returns Boolean from Standard;
|
||
|
---Purpose: return True if F is intersected by an edge of
|
||
|
-- other face
|
||
|
|
||
|
IsSplitOn (me; NewE, OldE : Edge from TopoDS;
|
||
|
F : Face from TopoDS)
|
||
|
returns Boolean from Standard;
|
||
|
---Purpose: return True if NewE is split of OldE on F;
|
||
|
-- no check if NewE is split of OldE :)
|
||
|
|
||
|
SectionEdgeFaces (me; SecE : Edge from TopoDS)
|
||
|
returns ListOfShape from TopTools;
|
||
|
---C++: return const&
|
||
|
---Purpose: return faces cut by section edge
|
||
|
|
||
|
--------------------
|
||
|
---Category: Private
|
||
|
--------------------
|
||
|
|
||
|
Inter3D (me: in out; F1, F2 : Face from TopoDS;
|
||
|
LInt : in out ListOfShape from TopTools)
|
||
|
is static private;
|
||
|
|
||
|
StorePart3d(me : in out; F1,F2 : Face from TopoDS;
|
||
|
LInt1 : ListOfShape from TopTools)
|
||
|
is static private;
|
||
|
|
||
|
SetDone(me : in out; F1,F2 : Face from TopoDS)
|
||
|
is static private;
|
||
|
|
||
|
Affiche (me; SetOfFaces : ListOfShape from TopTools)
|
||
|
is static private;
|
||
|
|
||
|
fields
|
||
|
|
||
|
myAsDes : AsDes from BRepAlgo;
|
||
|
myDone : DataMapOfShapeListOfShape from TopTools;
|
||
|
myTouched : MapOfShape from TopTools;
|
||
|
myNewEdges : MapOfShape from TopTools;
|
||
|
|
||
|
-- section edges: existing edges that are intersection lines,
|
||
|
-- may be partially.
|
||
|
-- Store as
|
||
|
-- FACE -> SECTION EDGES, SECTION EDGE -> OTHER SECTION EDGE
|
||
|
mySectionEdgesAD : AsDes from BRepAlgo;
|
||
|
|
||
|
-- same domain shapes
|
||
|
-- faces
|
||
|
mySameDomainFM : DataMapOfShapeListOfShape from TopTools;
|
||
|
-- vertex -> vertex replacement
|
||
|
mySameDomainVM : DataMapOfShapeShape from TopTools;
|
||
|
|
||
|
end Inter3d;
|