-- Created by: Peter KURNEV
--- Copyright (c) 2010-2012 OPEN CASCADE SAS
+-- Copyright (c) 2010-2014 OPEN CASCADE SAS
-- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
-- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
-- EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
--
--- The content of this file is subject to the Open CASCADE Technology Public
--- License Version 6.5 (the "License"). You may not use the content of this file
--- except in compliance with the License. Please obtain a copy of the License
--- at http://www.opencascade.org and read it completely before using this file.
+-- This file is part of Open CASCADE Technology software library.
--
--- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
--- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+-- This library is free software; you can redistribute it and/or modify it under
+-- the terms of the GNU Lesser General Public License version 2.1 as published
+-- by the Free Software Foundation, with special exception defined in the file
+-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+-- distribution for complete text of the license and disclaimer of any warranty.
--
--- The Original Code and all software distributed under the License is
--- distributed on an "AS IS" basis, without warranty of any kind, and the
--- Initial Developer hereby disclaims all such warranties, including without
--- limitation, any warranties of merchantability, fitness for a particular
--- purpose or non-infringement. Please see the License for the specific terms
--- and conditions governing the rights and limitations under the License.
-
+-- Alternatively, this file may be used under the terms of Open CASCADE
+-- commercial license or contractual agreement.
class PaveFiller from BOPAlgo
inherits Algo from BOPAlgo
DataMapOfIntegerListOfInteger from BOPCol,
DataMapOfShapeListOfShape from BOPCol,
IndexedDataMapOfShapeListOfShape from BOPCol,
- DataMapOfIntegerReal from BOPCol,
+ DataMapOfIntegerReal from BOPCol,
+ DataMapOfIntegerInteger from BOPCol,
--
Context from BOPInt,
--
theMVOn:MapOfInteger from BOPCol)
returns Boolean from Standard
is protected;
-
- PutPaveOnCurve(me:out;
- theMVOn:MapOfInteger from BOPCol;
- theTolR3D:Real from Standard;
- theNC:out Curve from BOPDS;
- nF1:Integer from Standard;
- nF2:Integer from Standard;
- theMVEF:MapOfInteger from BOPCol;
- theMVTol:out DataMapOfIntegerReal from BOPCol)
- is protected;
+
+ PutPavesOnCurve(me:out;
+ theMVOn : MapOfInteger from BOPCol;
+ theTolR3D : Real from Standard;
+ theNC : out Curve from BOPDS;
+ nF1 : Integer from Standard;
+ nF2 : Integer from Standard;
+ theMI : MapOfInteger from BOPCol;
+ theMVEF : MapOfInteger from BOPCol;
+ theMVTol : out DataMapOfIntegerReal from BOPCol)
+ is protected;
+ ---Purpose:
+ -- Checks and puts paves from <theMVOn> on the curve <theNC>.
ExtendedTolerance(me:out;
- nV:Integer from Standard;
- aMI:MapOfInteger from BOPCol;
- aTolVExt:out Real from Standard)
+ nV : Integer from Standard;
+ aMI : MapOfInteger from BOPCol;
+ aTolVExt : out Real from Standard;
+ aType : Integer from Standard = 0)
returns Boolean from Standard
- is protected;
+ is protected;
+ ---Purpose:
+ -- Depending on the parameter aType it checks whether
+ -- the vertex nV was created in EE or EF intersections.
+ -- If so, it increases aTolVExt from tolerance value of vertex to
+ -- the max distance from vertex nV to the ends of the range of common part.
+ -- Possible values of aType:
+ -- 1 - checks only EE;
+ -- 2 - checks only EF;
+ -- other - checks both types of intersections.
PutBoundPaveOnCurve(me:out;
theF1: Face from TopoDS;
PostTreatFF(me:out;
theMSCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
theMVI:out DataMapOfShapeInteger from BOPCol;
- theDMExEd:out DataMapOfPaveBlockListOfPaveBlock from BOPDS;
+ theDMExEdges:out DataMapOfPaveBlockListOfPaveBlock from BOPDS;
+ theDMI:out DataMapOfIntegerInteger from BOPCol;
theAllocator:out BaseAllocator from BOPCol)
returns Integer from Standard
- is protected;
+ is protected;
+ ---Purpose:
+ -- Treatment of section edges.
+
--
-- Treatment of degenerated edges
--
is protected;
PutEFPavesOnCurve(me:out;
- nF1 : Integer from Standard;
- nF2 : Integer from Standard;
theNC : out Curve from BOPDS;
- theMVEF : MapOfInteger from BOPCol;
+ theMI : MapOfInteger from BOPCol;
+ theMVEF : MapOfInteger from BOPCol;
theMVTol : out DataMapOfIntegerReal from BOPCol)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Checks and puts paves created in EF intersections on the curve <theNC>.
PutStickPavesOnCurve(me:out;
- nF1 : Integer from Standard;
- nF2 : Integer from Standard;
+ aF1 : Face from TopoDS;
+ aF2 : Face from TopoDS;
+ theMI : MapOfInteger from BOPCol;
theNC : out Curve from BOPDS;
theMVStick : MapOfInteger from BOPCol;
theMVTol : out DataMapOfIntegerReal from BOPCol)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Puts stick paves on the curve <theNC>
GetStickVertices(me:out;
nF1 : Integer from Standard;
nF2 : Integer from Standard;
theMVStick : out MapOfInteger from BOPCol;
- theMVEFk : out MapOfInteger from BOPCol)
- is protected;
+ theMVEF : out MapOfInteger from BOPCol;
+ theMI : out MapOfInteger from BOPCol)
+ is protected;
+ ---Purpose:
+ -- Collects indices of vertices created in all intersections between
+ -- two faces (<nF1> and <nF2>) to the map <theMVStick>.
+ -- Also, it collects indices of EF vertices to the <theMVEF> map
+ -- and indices of all subshapes of these two faces to the <theMI> map.
- GetFullFaceMap(me:out;
+ GetFullShapeMap(me:out;
nF : Integer from Standard;
theMI : out MapOfInteger from BOPCol)
is protected;
-
-
+ ---Purpose:
+ -- Collects index nF and indices of all subshapes of the shape with index <nF>
+ -- to the map <theMI>.
+
RemoveUsedVertices(me:out;
theNC : out Curve from BOPDS;
theMV : out MapOfInteger from BOPCol)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Removes indices of vertices that are already on the
+ -- curve <theNC> from the map <theMV>.
+ -- It is used in PutEFPavesOnCurve and PutStickPavesOnCurve methods.
PutPaveOnCurve(me:out;
nV : Integer from Standard;
theTolR3D : Real from Standard;
- theNC : Curve from BOPDS;
- thePB : out PaveBlock from BOPDS;
- theMVTol : out DataMapOfIntegerReal from BOPCol)
- is protected;
+ theNC : out Curve from BOPDS;
+ theMI : MapOfInteger from BOPCol;
+ theMVTol : out DataMapOfIntegerReal from BOPCol;
+ aType : Integer from Standard = 0)
+ is protected;
+ ---Purpose:
+ -- Puts the pave nV on the curve theNC.
+ -- Parameter aType defines whether to check the pave with
+ -- extended tolerance:
+ -- 0 - do not perform the check;
+ -- other - perform the check (aType goes to ExtendedTolerance).
ProcessExistingPaveBlocks(me:out;
theInt : Integer from Standard;
theMVI : out DataMapOfShapeInteger from BOPCol;
theMVB : MapOfInteger from BOPCol;
theMPB : out MapOfPaveBlock from BOPDS)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Adds the existing edges from the map <theMPBOnIn> which interfere
+ -- with the vertices from <theMVB> map to the post treatment of section edges.
UpdateExistingPaveBlocks(me:out;
thePB : PaveBlock from BOPDS;
theLPB : out ListOfPaveBlock from BOPDS;
nF1 : Integer from Standard;
nF2 : Integer from Standard)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Replaces existing pave block <thePB> with new pave blocks <theLPB>.
+ -- The list <theLPB> contains images of <thePB> which were created in
+ -- the post treatment of section edges.
TreatNewVertices(me:out;
theMVI : IndexedDataMapOfShapeInteger from BOPCol;
theImages : out IndexedDataMapOfShapeListOfShape from BOPCol)
- is protected;
+ is protected;
+ ---Purpose:
+ -- Treatment of vertices that were created in EE intersections.
PutClosingPaveOnCurve (me:out;
aNC :out Curve from BOPDS)
is protected;
- ---Purpose:
- --- Put paves on the curve <aBC> in case when <aBC>
- --- is closed 3D-curve
+ ---Purpose:
+ -- Put paves on the curve <aBC> in case when <aBC>
+ -- is closed 3D-curve
PreparePostTreatFF(me:out;
aInt : Integer from Standard;
-- to make it interfere with edge
ForceInterfVF(me:out;
- nV:Integer from Standard;
- nF:Integer from Standard)
+ nV : Integer from Standard;
+ nF : Integer from Standard)
returns Boolean from Standard
is protected;
---Purpose:
is protected;
---Purpose:
-- Checks if there are any common or intersecting sub shapes
- -- between two planar faces.
-
+ -- between two planar faces.
+
+ SplitEdge(me:out;
+ nE : Integer from Standard;
+ nV1 : Integer from Standard;
+ aT1 : Real from Standard;
+ nV2 : Integer from Standard;
+ aT2 : Real from Standard)
+ returns Integer from Standard
+ is protected;
+ ---Purpose:
+ -- Creates new edge from the edge nE with vertices nV1 and nV2
+ -- and returns the index of that new edge in the DS.
+
+ UpdatePaveBlocks(me:out;
+ theDMI : DataMapOfIntegerInteger from BOPCol)
+ is protected;
+ ---Purpose:
+ -- Updates pave blocks which have the paves with indices contained
+ -- in the map <theDMI>.
+
fields
myArguments : ListOfShape from BOPCol is protected;
myDS : PDS from BOPDS is protected;