mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
0023004: Boolean operation cut produces incorrect result.
This commit is contained in:
parent
938a360f65
commit
5faddbe4a9
@ -19,16 +19,16 @@ uses
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
|
||||
ListOfShape from TopTools,
|
||||
SequenceOfInteger from TColStd,
|
||||
|
||||
LoopSet from BOP,
|
||||
BlockIterator from BOP,
|
||||
BlockBuilder from BOP,
|
||||
SequenceOfInteger from TColStd,
|
||||
Context from IntTools,
|
||||
WireEdgeSet from BOP,
|
||||
FaceAreaBuilder from BOP,
|
||||
PWireEdgeSet from BOP
|
||||
-- LoopSet from BOP,
|
||||
-- BlockIterator from BOP,
|
||||
-- BlockBuilder from BOP,
|
||||
-- FaceAreaBuilder from BOP,
|
||||
|
||||
|
||||
is
|
||||
|
||||
@ -47,16 +47,27 @@ is
|
||||
--- 3. Make Areas from Loops
|
||||
--- 4. Make Faces from Areas
|
||||
---
|
||||
DoInternalEdges (me :out)
|
||||
is private;
|
||||
---Purpose:
|
||||
--- Processes internal edges if they exists
|
||||
|
||||
---
|
||||
BuildNewFaces (me :out)
|
||||
is private;
|
||||
-- BuildNewFaces (me :out)
|
||||
-- is private;
|
||||
---Purpose:
|
||||
--- Make Faces from Areas
|
||||
---
|
||||
---
|
||||
|
||||
--modified by NIZNHY-PKV Wed Feb 29 10:57:40 2012f
|
||||
SetContext(me:out;
|
||||
aCtx:Context from IntTools);
|
||||
---Purpose:
|
||||
-- Sets intersection context <aCtx>
|
||||
|
||||
Context(me)
|
||||
returns Context from IntTools;
|
||||
---C++: return const &
|
||||
---Purpose:
|
||||
-- Returns intersection context
|
||||
--modified by NIZNHY-PKV Wed Feb 29 10:57:52 2012t
|
||||
|
||||
WES (me)
|
||||
returns WireEdgeSet from BOP;
|
||||
---C++: return const &
|
||||
@ -76,21 +87,21 @@ is
|
||||
--- 0 -Treat internal edges,
|
||||
--- 1 -Do not treat internal edges
|
||||
---
|
||||
SetManifoldFlag(me: out;
|
||||
aMFlag: Boolean from Standard);
|
||||
---Purpose:
|
||||
--- Modifier
|
||||
---
|
||||
|
||||
SetTreatSDScales (me: out;
|
||||
aTreatment: Integer from Standard);
|
||||
---Purpose:
|
||||
--- Modifier
|
||||
--- 1 -Treat scale configured same domain faces,
|
||||
--- 0 -Do not treat them.
|
||||
---
|
||||
|
||||
ManifoldFlag(me)
|
||||
returns Boolean from Standard;
|
||||
---
|
||||
-- SetManifoldFlag(me: out;
|
||||
-- aMFlag: Boolean from Standard);
|
||||
---Purpose:
|
||||
--- Modifier
|
||||
---
|
||||
-- ManifoldFlag(me)
|
||||
-- returns Boolean from Standard;
|
||||
---Purpose:
|
||||
--- Selector
|
||||
---
|
||||
@ -108,82 +119,92 @@ is
|
||||
---
|
||||
--- Faces' iterator
|
||||
---
|
||||
InitFace(me:out)
|
||||
returns Integer from Standard;
|
||||
-- InitFace(me:out)
|
||||
-- returns Integer from Standard;
|
||||
|
||||
MoreFace(me)
|
||||
returns Boolean from Standard;
|
||||
-- MoreFace(me)
|
||||
-- returns Boolean from Standard;
|
||||
|
||||
NextFace(me:out);
|
||||
-- NextFace(me:out);
|
||||
---Purpose:
|
||||
---
|
||||
---
|
||||
--- Wires' iterator
|
||||
---
|
||||
InitWire(me:out)
|
||||
returns Integer from Standard;
|
||||
-- InitWire(me:out)
|
||||
-- returns Integer from Standard;
|
||||
|
||||
MoreWire(me)
|
||||
returns Boolean from Standard;
|
||||
-- MoreWire(me)
|
||||
-- returns Boolean from Standard;
|
||||
|
||||
NextWire(me:out);
|
||||
-- NextWire(me:out);
|
||||
|
||||
IsOldWire(me)
|
||||
returns Boolean from Standard;
|
||||
-- IsOldWire(me)
|
||||
-- returns Boolean from Standard;
|
||||
|
||||
OldWire(me)
|
||||
returns Shape from TopoDS;
|
||||
---C++: return const &
|
||||
-- OldWire(me)
|
||||
-- returns Shape from TopoDS;
|
||||
-- ---C++: return const &
|
||||
|
||||
Wire(me)
|
||||
returns Wire from TopoDS;
|
||||
---C++: return const &
|
||||
---Purpose:
|
||||
---
|
||||
-- Wire(me)
|
||||
-- returns Wire from TopoDS;
|
||||
-- ---C++: return const &
|
||||
-- ---Purpose:
|
||||
-- ---
|
||||
|
||||
---
|
||||
--- Edges' iterator
|
||||
---
|
||||
FindNextValidElement(me:out);
|
||||
-- FindNextValidElement(me:out);
|
||||
|
||||
InitEdge(me:out)
|
||||
returns Integer from Standard;
|
||||
-- InitEdge(me:out)
|
||||
-- returns Integer from Standard;
|
||||
|
||||
MoreEdge(me)
|
||||
returns Boolean from Standard;
|
||||
-- MoreEdge(me)
|
||||
-- returns Boolean from Standard;
|
||||
|
||||
NextEdge(me : in out);
|
||||
-- NextEdge(me : in out);
|
||||
|
||||
Edge(me)
|
||||
returns Edge from TopoDS;
|
||||
---C++: return const &
|
||||
-- Edge(me)
|
||||
-- returns Edge from TopoDS;
|
||||
-- ---C++: return const &
|
||||
---Purpose:
|
||||
---
|
||||
MakeLoops(me :out;
|
||||
SS :out WireEdgeSet from BOP)
|
||||
is private;
|
||||
---
|
||||
|
||||
-- MakeLoops(me :out;
|
||||
-- SS :out WireEdgeSet from BOP)
|
||||
-- is protected;
|
||||
---Purpose:
|
||||
--- Make Loops from wires
|
||||
---
|
||||
DoInternalEdges (me :out)
|
||||
is protected;
|
||||
---Purpose:
|
||||
--- Processes internal edges if they exists
|
||||
|
||||
SDScales(me :out)
|
||||
is private;
|
||||
is protected;
|
||||
---Purpose:
|
||||
--- Treatment SD faces with a "scale"
|
||||
---
|
||||
|
||||
--modified by NIZNHY-PKV Wed Feb 29 09:12:17 2012f
|
||||
PerformAreas(me :out;
|
||||
SS :out WireEdgeSet from BOP)
|
||||
is protected;
|
||||
--modified by NIZNHY-PKV Wed Feb 29 09:12:20 2012t
|
||||
|
||||
fields
|
||||
|
||||
myFace : Face from TopoDS;
|
||||
myLoopSet : LoopSet from BOP;
|
||||
myBlockIterator : BlockIterator from BOP;
|
||||
myBlockBuilder : BlockBuilder from BOP;
|
||||
myFaceAreaBuilder : FaceAreaBuilder from BOP;
|
||||
-- myLoopSet : LoopSet from BOP;
|
||||
-- myBlockIterator : BlockIterator from BOP;
|
||||
-- myBlockBuilder : BlockBuilder from BOP;
|
||||
-- myFaceAreaBuilder : FaceAreaBuilder from BOP;
|
||||
myWES : PWireEdgeSet from BOP;
|
||||
myNewFaces : ListOfShape from TopTools;
|
||||
|
||||
myTreatment : Integer from Standard;
|
||||
myManifoldFlag : Boolean from Standard;
|
||||
-- myManifoldFlag : Boolean from Standard;
|
||||
myTreatSDScales : Integer from Standard;
|
||||
myNegatives : SequenceOfInteger from TColStd;
|
||||
|
||||
myContext : Context from IntTools;
|
||||
end FaceBuilder;
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user