1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00
Files
occt/src/BRepSweep/BRepSweep_Trsf.cdl
bugmaster b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00

257 lines
10 KiB
Plaintext
Executable File

-- Created on: 1993-06-08
-- Created by: Laurent BOURESCHE
-- Copyright (c) 1993-1999 Matra Datavision
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
--
-- 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.
--
-- 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.
--
-- 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.
deferred class Trsf from BRepSweep inherits NumLinearRegularSweep
from BRepSweep
---Purpose: This class is inherited from NumLinearRegularSweep
-- to implement the simple swept primitives built
-- moving a Shape with a Trsf. It often is possible
-- to build the constructed subshapes by a simple
-- move of the generating subshapes (shared topology
-- and geometry). So two ways of construction are
-- proposed :
--
--
-- - sharing basis elements (the generatrice can be
-- modified , for exemples PCurves can be added on
-- faces);
--
-- - copying everything.
uses
Builder from BRep,
Shape from TopoDS,
NumShape from Sweep,
Location from TopLoc,
Orientation from TopAbs
is
Delete(me:out) is redefined;
---C++: alias "Standard_EXPORT virtual ~BRepSweep_Trsf(){Delete() ; }"
Initialize(aBuilder : Builder from BRep;
aGenShape : Shape from TopoDS;
aDirWire : NumShape from Sweep;
aLocation : Location from TopLoc;
aCopy : Boolean from Standard);
---Purpose: Initialize the Trsf BrepSweep, if aCopy is true
-- the basis elements are shared as often as
-- possible, else everything is copied.
--
Init(me : in out)
---Purpose: ends the construction of the swept primitive
-- calling the virtual geometric functions that can't
-- be called in the initialize.
is static;
Process (me : in out;
aGenS : Shape from TopoDS;
aDirV : NumShape from Sweep)
returns Boolean from Standard
---Purpose: function called to analize the way of construction
-- of the shapes generated by aGenS and aDirV.
is static;
-- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-- Deferred Methods supporting the creation of the geometric part.
-- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
MakeEmptyVertex(me : in out;
aGenV : Shape from TopoDS;
aDirV : NumShape from Sweep)
returns Shape from TopoDS
---Purpose: Builds the vertex addressed by [aGenV,aDirV], with its
-- geometric part, but without subcomponents.
is deferred;
MakeEmptyDirectingEdge(me : in out;
aGenV : Shape from TopoDS;
aDirE : NumShape from Sweep)
returns Shape from TopoDS
---Purpose: Builds the edge addressed by [aGenV,aDirE], with its
-- geometric part, but without subcomponents.
is deferred;
MakeEmptyGeneratingEdge(me : in out;
aGenE : Shape from TopoDS;
aDirV : NumShape from Sweep)
returns Shape from TopoDS
---Purpose: Builds the edge addressed by [aGenE,aDirV], with its
-- geometric part, but without subcomponents.
is deferred;
SetParameters(me : in out;
aNewFace : Shape from TopoDS;
aNewVertex : in out Shape from TopoDS;
aGenF : Shape from TopoDS;
aGenV : Shape from TopoDS;
aDirV : NumShape from Sweep)
---Purpose: Sets the parameters of the new vertex on the new
-- face. The new face and new vertex where generated
-- from aGenF, aGenV and aDirV .
is deferred;
SetDirectingParameter(me : in out;
aNewEdge : Shape from TopoDS;
aNewVertex : in out Shape from TopoDS;
aGenV : Shape from TopoDS;
aDirE : NumShape from Sweep;
aDirV : NumShape from Sweep)
---Purpose: Sets the parameter of the new vertex on the new
-- edge. The new edge and new vertex where generated
-- from aGenV aDirE, and aDirV.
is deferred;
SetGeneratingParameter(me : in out;
aNewEdge : Shape from TopoDS;
aNewVertex : in out Shape from TopoDS;
aGenE : Shape from TopoDS;
aGenV : Shape from TopoDS;
aDirV : NumShape from Sweep)
---Purpose: Sets the parameter of the new vertex on the new
-- edge. The new edge and new vertex where generated
-- from aGenE, aGenV and aDirV .
is deferred;
MakeEmptyFace(me : in out;
aGenS : Shape from TopoDS;
aDirS : NumShape from Sweep)
returns Shape from TopoDS
---Purpose: Builds the face addressed by [aGenS,aDirS], with
-- its geometric part, but without subcomponents. The
-- couple aGenS, aDirS can be a "generating face and
-- a directing vertex" or "a generating edge and a
-- directing edge".
is deferred;
SetPCurve(me : in out;
aNewFace : Shape from TopoDS;
aNewEdge : in out Shape from TopoDS;
aGenF : Shape from TopoDS;
aGenE : Shape from TopoDS;
aDirV : NumShape from Sweep;
orien : Orientation from TopAbs)
---Purpose: Sets the PCurve for a new edge on a new face. The
-- new edge and the new face were generated using
-- aGenF, aGenE and aDirV.
is deferred;
SetGeneratingPCurve(me : in out;
aNewFace : Shape from TopoDS;
aNewEdge : in out Shape from TopoDS;
aGenE : Shape from TopoDS;
aDirE : NumShape from Sweep;
aDirV : NumShape from Sweep;
orien : Orientation from TopAbs)
---Purpose: Sets the PCurve for a new edge on a new face. The
-- new edge and the new face were generated using
-- aGenE, aDirE and aDirV.
is deferred;
SetDirectingPCurve(me : in out;
aNewFace : Shape from TopoDS;
aNewEdge : in out Shape from TopoDS;
aGenE : Shape from TopoDS;
aGenV : Shape from TopoDS;
aDirE : NumShape from Sweep;
orien : Orientation from TopAbs)
---Purpose: Sets the PCurve for a new edge on a new face. The
-- new edge and the new face were generated using
-- aGenE, aDirE and aGenV.
is deferred;
GGDShapeIsToAdd (me;
aNewShape : Shape from TopoDS;
aNewSubShape : Shape from TopoDS;
aGenS : Shape from TopoDS;
aSubGenS : Shape from TopoDS;
aDirS : NumShape from Sweep)
returns Boolean from Standard
---Purpose: Returns true if aNewSubShape (addressed by
-- aSubGenS and aDirS) must be added in aNewShape
-- (addressed by aGenS and aDirS).
is deferred;
GDDShapeIsToAdd (me;
aNewShape : Shape from TopoDS;
aNewSubShape : Shape from TopoDS;
aGenS : Shape from TopoDS;
aDirS : NumShape from Sweep;
aSubDirS : NumShape from Sweep)
returns Boolean from Standard
---Purpose: Returns true if aNewSubShape (addressed by
-- aGenS and aSubDirS) must be added in aNewShape
-- (addressed by aGenS and aDirS).
is deferred;
SeparatedWires (me;
aNewShape : Shape from TopoDS;
aNewSubShape : Shape from TopoDS;
aGenS : Shape from TopoDS;
aSubGenS : Shape from TopoDS;
aDirS : NumShape from Sweep)
returns Boolean from Standard
---Purpose: In some particular cases the topology of a
-- generated face must be composed of independant
-- closed wires, in this case this function returns
-- true.
is deferred;
HasShape(me; aGenS : Shape from TopoDS; aDirS : NumShape from Sweep)
returns Boolean from Standard
---Purpose: Returns true if aDirS and aGenS addresses a
-- resulting Shape. In some specific cases the shape
-- can be geometrically inexsistant, then this
-- function returns false.
is deferred;
IsInvariant (me; aGenS : Shape from TopoDS)
returns Boolean from Standard
---Purpose: Returns true if the geometry of aGenS is not
-- modified by the trsf of the BRepSweep Trsf.
is deferred;
-- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-- Method coding the continuities on the edges between 2 faces
-- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
SetContinuity(me : in out;
aGenS : Shape from TopoDS;
aDirS : NumShape from Sweep);
---Purpose: Called to propagate the continuity of every vertex
-- between two edges of the generating wire aGenS on
-- the generated edge and faces.
fields
myLocation : Location from TopLoc is protected;
myCopy : Boolean from Standard is protected;
end Trsf from BRepSweep;