mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024734: Convertation of the generic classes to the non-generic. Part 4
Generic classes "LProp_FuncCurExt", "LProp_FuncCurNul" and "LProp_NumericCurInf" from "LProp" package converted to the non-generic classes and moved to the "Geom2dLProp" package. Therefore names of this classes were changed to "Geom2dLProp_FuncCurExt", "Geom2dLProp_FuncCurNul" and "Geom2dLProp_NumericCurInf". Generic class "Sweep_LinearRegularSweep" from "Sweep" package converted to the non-generic classes and moved to the "BRepSweep" package. Therefore name of this class was changed to "BRepSweep_NumLinearRegularSweep". Also 2 internal classes of "BRepSweep_NumLinearRegularSweep" moved to "BRepSweep.cdl". Generic classes "Primitives_Wedge" and "Primitives_OneAxis" from "Primitives" package converted to the non-generic classes and moved to the "BRepPrim" package. Therefore names of this classes were changed to "BRepPrim_GWedge" and "BRepPrim_OneAxis". Also enum "Direction" moved to BRepPrim. Therefore all "Primitives" package was deleted. And some other minor changes were done. Internal classes Array2OfShapes and SequenceOfShapes from BRepSweep_NumLinearRegularSweep replaced to Array2OfShape and SequenceOfShape from TopTools.
This commit is contained in:
@@ -41,20 +41,18 @@ uses
|
||||
gp,
|
||||
Geom2d,
|
||||
Geom,
|
||||
Primitives,
|
||||
TopoDS,
|
||||
BRep
|
||||
|
||||
is
|
||||
enumeration Direction is
|
||||
---Purpose:
|
||||
XMin, XMax, YMin, YMax, ZMin, ZMax
|
||||
end Direction;
|
||||
|
||||
class Builder;
|
||||
|
||||
deferred class OneAxis instantiates OneAxis from Primitives(
|
||||
Shell from TopoDS,
|
||||
Face from TopoDS,
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Builder from BRepPrim);
|
||||
|
||||
deferred class OneAxis;
|
||||
|
||||
class Revolution;
|
||||
|
||||
@@ -66,13 +64,7 @@ is
|
||||
|
||||
class Torus;
|
||||
|
||||
class GWedge instantiates Wedge from Primitives(
|
||||
Shell from TopoDS,
|
||||
Face from TopoDS,
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Builder from BRepPrim);
|
||||
class GWedge;
|
||||
|
||||
class Wedge;
|
||||
|
||||
|
307
src/BRepPrim/BRepPrim_GWedge.cdl
Normal file
307
src/BRepPrim/BRepPrim_GWedge.cdl
Normal file
@@ -0,0 +1,307 @@
|
||||
-- Created on: 1991-09-18
|
||||
-- Created by: Christophe MARION
|
||||
-- Copyright (c) 1991-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- 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.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class GWedge from BRepPrim
|
||||
|
||||
|
||||
---Purpose: A wedge is defined by :
|
||||
--
|
||||
-- Axes : an Axis2 (coordinate system)
|
||||
--
|
||||
-- YMin, YMax the coordinates of the ymin and ymax
|
||||
-- rectangular faces parallel to the ZX plane (of the
|
||||
-- coordinate systems)
|
||||
--
|
||||
-- ZMin,ZMax,XMin,XMax the rectangular
|
||||
-- left (YMin) face parallel to the Z and X axes.
|
||||
--
|
||||
-- Z2Min,Z2Max,X2Min,X2Max the rectangular
|
||||
-- right (YMax) face parallel to the Z and X axes.
|
||||
--
|
||||
-- For a box Z2Min = ZMin, Z2Max = ZMax,
|
||||
-- X2Min = XMin, X2Max = XMax
|
||||
--
|
||||
-- The wedge can be open in the corresponding direction
|
||||
-- of its Boolean myInfinite
|
||||
|
||||
|
||||
uses
|
||||
|
||||
Direction from BRepPrim,
|
||||
|
||||
Ax2 from gp,
|
||||
Pln from gp,
|
||||
Lin from gp,
|
||||
Pnt from gp,
|
||||
Shell from TopoDS,
|
||||
Face from TopoDS,
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Builder from BRepPrim
|
||||
|
||||
raises
|
||||
DomainError,
|
||||
OutOfRange
|
||||
|
||||
is
|
||||
Create(B : Builder from BRepPrim; Axes : Ax2 from gp; dx, dy, dz : Real)
|
||||
returns GWedge from BRepPrim
|
||||
---Purpose: Creates a GWedge algorithm. <Axes> is the axis
|
||||
-- system for the primitive.
|
||||
--
|
||||
-- XMin, YMin, ZMin are set to 0
|
||||
-- XMax, YMax, ZMax are set to dx, dy, dz
|
||||
-- Z2Min = ZMin
|
||||
-- Z2Max = ZMax
|
||||
-- X2Min = XMin
|
||||
-- X2Max = XMax
|
||||
-- The result is a box
|
||||
-- dx,dy,dz should be positive
|
||||
raises DomainError;
|
||||
|
||||
Create(B : Builder from BRepPrim; Axes : Ax2 from gp; dx, dy, dz, ltx : Real)
|
||||
returns GWedge from BRepPrim
|
||||
---Purpose: Creates a GWedge primitive. <Axes> is the axis
|
||||
-- system for the primitive.
|
||||
--
|
||||
-- XMin, YMin, ZMin are set to 0
|
||||
-- XMax, YMax, ZMax are set to dx, dy, dz
|
||||
-- Z2Min = ZMin
|
||||
-- Z2Max = ZMax
|
||||
-- X2Min = ltx
|
||||
-- X2Max = ltx
|
||||
-- The result is a STEP right angular wedge
|
||||
-- dx,dy,dz should be positive
|
||||
-- ltx should not be negative
|
||||
raises DomainError;
|
||||
|
||||
Create(B : Builder from BRepPrim; Axes : Ax2 from gp; xmin, ymin, zmin, z2min, x2min,
|
||||
xmax, ymax, zmax, z2max, x2max : Real)
|
||||
returns GWedge from BRepPrim
|
||||
---Purpose: Create a GWedge primitive. <Axes> is the axis
|
||||
-- system for the primitive.
|
||||
--
|
||||
-- all the fields are set to the corresponding value
|
||||
-- XYZMax - XYZMin should be positive
|
||||
-- ZX2Max - ZX2Min should not be negative
|
||||
raises DomainError;
|
||||
|
||||
Axes(me) returns Ax2 from gp
|
||||
---Purpose: Returns the coordinates system from <me>.
|
||||
is static;
|
||||
|
||||
GetXMin(me) returns Real
|
||||
---Purpose: Returns Xmin value from <me>.
|
||||
is static;
|
||||
|
||||
GetYMin(me) returns Real
|
||||
---Purpose: Returns YMin value from <me>.
|
||||
is static;
|
||||
|
||||
GetZMin(me) returns Real
|
||||
---Purpose: Returns ZMin value from <me>.
|
||||
is static;
|
||||
|
||||
GetZ2Min(me) returns Real
|
||||
---Purpose: Returns Z2Min value from <me>.
|
||||
is static;
|
||||
|
||||
GetX2Min(me) returns Real
|
||||
---Purpose: Returns X2Min value from <me>.
|
||||
is static;
|
||||
|
||||
GetXMax(me) returns Real
|
||||
---Purpose: Returns XMax value from <me>.
|
||||
is static;
|
||||
|
||||
GetYMax(me) returns Real
|
||||
---Purpose: Returns YMax value from <me>.
|
||||
is static;
|
||||
|
||||
GetZMax(me) returns Real
|
||||
---Purpose: Returns ZMax value from <me>.
|
||||
is static;
|
||||
|
||||
GetZ2Max(me) returns Real
|
||||
---Purpose: Returns Z2Max value from <me>.
|
||||
is static;
|
||||
|
||||
GetX2Max(me) returns Real
|
||||
---Purpose: Returns X2Max value from <me>.
|
||||
is static;
|
||||
|
||||
Open(me : in out; d1 : Direction from BRepPrim)
|
||||
---Purpose: Opens <me> in <d1> direction. A face and its edges
|
||||
-- or vertices are said nonexistant.
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
Close(me : in out; d1 : Direction from BRepPrim)
|
||||
---Purpose: Closes <me> in <d1> direction. A face and its
|
||||
-- edges or vertices are said existant.
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
IsInfinite(me; d1 : Direction from BRepPrim)
|
||||
---Purpose: Returns True if <me> is open in <d1> direction.
|
||||
returns Boolean;
|
||||
|
||||
Shell(me : in out) returns Shell from TopoDS
|
||||
---Purpose: Returns the Shell containing the Faces of <me>.
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
HasFace(me; d1 : Direction from BRepPrim)
|
||||
---Purpose: Returns True if <me> has a Face in <d1> direction.
|
||||
returns Boolean;
|
||||
|
||||
Face(me : in out; d1 : Direction from BRepPrim) returns Face from TopoDS
|
||||
---Purpose: Returns the Face of <me> located in <d1> direction.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
Plane(me : in out; d1 : Direction from BRepPrim) returns Pln from gp
|
||||
---Purpose: Returns the plane of the Face of <me> located in
|
||||
-- <d1> direction.
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
HasWire(me; d1 : Direction from BRepPrim)
|
||||
---Purpose: Returns True if <me> has a Wire in <d1> direction.
|
||||
returns Boolean;
|
||||
|
||||
Wire(me : in out; d1 : Direction from BRepPrim) returns Wire from TopoDS
|
||||
---Purpose: Returns the Wire of <me> located in <d1> direction.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
HasEdge(me; d1, d2 : Direction from BRepPrim)
|
||||
---Purpose: Returns True if <me> has an Edge in <d1><d2> direction.
|
||||
returns Boolean;
|
||||
|
||||
Edge(me : in out; d1, d2 : Direction from BRepPrim) returns Edge from TopoDS
|
||||
---Purpose: Returns the Edge of <me> located in <d1><d2> direction.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
Line(me : in out; d1, d2 : Direction from BRepPrim) returns Lin from gp
|
||||
---Purpose: Returns the line of the Edge of <me> located in
|
||||
-- <d1><d2> direction.
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
HasVertex(me; d1, d2, d3 : Direction from BRepPrim)
|
||||
---Purpose: Returns True if <me> has a Vertex in <d1><d2><d3>
|
||||
-- direction.
|
||||
returns Boolean;
|
||||
|
||||
Vertex(me : in out; d1, d2, d3 : Direction from BRepPrim)
|
||||
returns Vertex from TopoDS
|
||||
---Purpose: Returns the Vertex of <me> located in <d1><d2><d3>
|
||||
-- direction.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
Point(me : in out; d1, d2, d3 : Direction from BRepPrim)
|
||||
returns Pnt from gp
|
||||
---Purpose: Returns the point of the Vertex of <me> located in
|
||||
-- <d1><d2><d3> direction.
|
||||
raises DomainError
|
||||
is static;
|
||||
|
||||
fields
|
||||
myBuilder : Builder from BRepPrim;
|
||||
|
||||
myAxes : Ax2 from gp;
|
||||
XMin : Real;
|
||||
XMax : Real;
|
||||
YMin : Real;
|
||||
YMax : Real;
|
||||
ZMin : Real;
|
||||
ZMax : Real;
|
||||
Z2Min : Real;
|
||||
Z2Max : Real;
|
||||
X2Min : Real;
|
||||
X2Max : Real;
|
||||
|
||||
-- the Topology
|
||||
|
||||
myShell : Shell from TopoDS;
|
||||
ShellBuilt : Boolean;
|
||||
|
||||
myVertices : Vertex from TopoDS [8];
|
||||
-- 0 : xmin ymin zmin
|
||||
-- 1 : xmax ymin zmin
|
||||
-- 2 : xmin ymax zmin
|
||||
-- 3 : xmax ymax zmin
|
||||
-- 4 : xmin ymin zmax
|
||||
-- 5 : xmax ymin zmax
|
||||
-- 6 : xmin ymax zmax
|
||||
-- 7 : xmax ymax zmax
|
||||
VerticesBuilt : Boolean [8];
|
||||
|
||||
myEdges : Edge from TopoDS [12];
|
||||
-- 0 : xmin ymin
|
||||
-- 1 : xmax ymin
|
||||
-- 2 : xmin ymax
|
||||
-- 3 : xmax ymax
|
||||
-- 4 : ymin zmin
|
||||
-- 5 : ymax zmin
|
||||
-- 6 : ymin zmax
|
||||
-- 7 : ymax zmax
|
||||
-- 8 : zmin xmin
|
||||
-- 9 : zmax xmin
|
||||
-- 10 : zmin xmax
|
||||
-- 11 : zmax xmax
|
||||
EdgesBuilt : Boolean [12];
|
||||
|
||||
myWires : Wire from TopoDS [6];
|
||||
-- 0 : xmin
|
||||
-- 1 : xmax
|
||||
-- 2 : ymin
|
||||
-- 3 : ymax
|
||||
-- 4 : zmin
|
||||
-- 5 : zmax
|
||||
WiresBuilt : Boolean [6];
|
||||
|
||||
myFaces : Face from TopoDS [6];
|
||||
-- 0 : xmin
|
||||
-- 1 : xmax
|
||||
-- 2 : ymin
|
||||
-- 3 : ymax
|
||||
-- 4 : zmin
|
||||
-- 5 : zmax
|
||||
FacesBuilt : Boolean [6];
|
||||
|
||||
myInfinite : Boolean[6];
|
||||
-- 0 : xmin
|
||||
-- 1 : xmax
|
||||
-- 2 : ymin
|
||||
-- 3 : ymax
|
||||
-- 4 : zmin
|
||||
-- 5 : zmax
|
||||
|
||||
end GWedge;
|
1020
src/BRepPrim/BRepPrim_GWedge.cxx
Normal file
1020
src/BRepPrim/BRepPrim_GWedge.cxx
Normal file
File diff suppressed because it is too large
Load Diff
492
src/BRepPrim/BRepPrim_OneAxis.cdl
Normal file
492
src/BRepPrim/BRepPrim_OneAxis.cdl
Normal file
@@ -0,0 +1,492 @@
|
||||
-- Created on: 1991-07-23
|
||||
-- Created by: Christophe MARION
|
||||
-- Copyright (c) 1991-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- 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.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
deferred class OneAxis from BRepPrim
|
||||
|
||||
---Purpose: Algorithm to build primitives with one axis of
|
||||
-- revolution.
|
||||
--
|
||||
-- The revolution body is described by :
|
||||
--
|
||||
-- A coordinate system (Ax2 from gp). The Z axis is
|
||||
-- the rotational axis.
|
||||
--
|
||||
-- An Angle around the Axis, When the Angle is 2*PI
|
||||
-- the primitive is not limited by planar faces. The
|
||||
-- U parameter range from 0 to Angle.
|
||||
--
|
||||
-- A parameter range VMin, VMax on the meridian.
|
||||
--
|
||||
-- A meridian : The meridian is a curve described by
|
||||
-- a set of deferred methods.
|
||||
--
|
||||
--
|
||||
-- The topology consists of A shell, Faces, Wires,
|
||||
-- Edges and Vertices. Methods are provided to build
|
||||
-- all the elements. Building an element implies the
|
||||
-- automatic building of all its sub-elements.
|
||||
--
|
||||
-- So building the shell builds everything.
|
||||
--
|
||||
-- There are at most 5 faces :
|
||||
--
|
||||
-- - The LateralFace.
|
||||
--
|
||||
-- - The TopFace and the BottomFace.
|
||||
--
|
||||
-- - The StartFace and the EndFace.
|
||||
--
|
||||
|
||||
|
||||
|
||||
uses
|
||||
Ax2 from gp,
|
||||
Pnt2d from gp,
|
||||
Shell from TopoDS,
|
||||
Face from TopoDS,
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Builder from BRepPrim
|
||||
|
||||
raises
|
||||
DomainError,
|
||||
OutOfRange
|
||||
|
||||
is
|
||||
Delete(me:out) is virtual ;
|
||||
---C++: alias ~
|
||||
|
||||
Initialize(B : Builder from BRepPrim;
|
||||
A : Ax2 from gp;
|
||||
VMin, VMax : Real from Standard);
|
||||
---Purpose: Creates a OneAxis algorithm. <B> is used to build
|
||||
-- the Topology. The angle defaults to 2*PI.
|
||||
|
||||
|
||||
SetMeridianOffset(me: in out;MeridianOffset : Real from Standard = 0)
|
||||
---Purpose: The MeridianOffset is added to the parameters on
|
||||
-- the meridian curve and to the V values of the
|
||||
-- pcurves. This is used for the sphere for example,
|
||||
-- to give a range on the meridian edge which is not
|
||||
-- VMin, VMax.
|
||||
is static;
|
||||
|
||||
Axes(me) returns Ax2 from gp
|
||||
---Purpose: Returns the Ax2 from <me>.
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
Axes(me : in out; A : Ax2 from gp)
|
||||
raises DomainError -- when some topology has been built or A > 2*PI
|
||||
is static;
|
||||
|
||||
Angle(me) returns Real
|
||||
is static;
|
||||
|
||||
Angle(me : in out; A : Real)
|
||||
raises DomainError -- when some topology has been built or A > 2*PI
|
||||
is static;
|
||||
|
||||
VMin(me) returns Real
|
||||
is static;
|
||||
|
||||
VMin(me : in out; V : Real)
|
||||
raises DomainError -- when some topology has been built
|
||||
is static;
|
||||
|
||||
VMax(me) returns Real
|
||||
is static;
|
||||
|
||||
VMax(me : in out; V : Real)
|
||||
raises DomainError -- when some topology has been built
|
||||
is static;
|
||||
|
||||
--
|
||||
-- Methods to describe the meridian
|
||||
-- They should be redefined in inherited classes
|
||||
--
|
||||
|
||||
MakeEmptyLateralFace(me) returns Face from TopoDS
|
||||
---Purpose: Returns a face with no edges. The surface is the
|
||||
-- lateral surface with normals pointing outward. The
|
||||
-- U parameter is the angle with the origin on the X
|
||||
-- axis. The V parameter is the parameter of the
|
||||
-- meridian.
|
||||
is deferred;
|
||||
|
||||
MakeEmptyMeridianEdge(me; Ang : Real) returns Edge from TopoDS
|
||||
---Purpose: Returns an edge with a 3D curve made from the
|
||||
-- meridian in the XZ plane rotated by <Ang> around
|
||||
-- the Z-axis. Ang may be 0 or myAngle.
|
||||
is deferred;
|
||||
|
||||
SetMeridianPCurve(me; E : in out Edge from TopoDS; F : Face from TopoDS)
|
||||
---Purpose: Sets the parametric curve of the edge <E> in the
|
||||
-- face <F> to be the 2d representation of the
|
||||
-- meridian.
|
||||
is deferred;
|
||||
|
||||
MeridianValue(me; V : Real) returns Pnt2d from gp
|
||||
---Purpose: Returns the meridian point at parameter <V> in the
|
||||
-- plane XZ.
|
||||
is deferred;
|
||||
|
||||
MeridianOnAxis(me; V : Real) returns Boolean
|
||||
---Purpose: Returns True if the point of parameter <V> on the
|
||||
-- meridian is on the Axis. Default implementation is
|
||||
-- Abs(MeridianValue(V).X()) < Precision::Confusion()
|
||||
is virtual;
|
||||
|
||||
MeridianClosed(me) returns Boolean
|
||||
---Purpose: Returns True if the meridian is closed. Default
|
||||
-- implementation is
|
||||
-- MeridianValue(VMin).IsEqual(MeridianValue(VMax),
|
||||
-- Precision::Confusion())
|
||||
is virtual;
|
||||
|
||||
VMaxInfinite(me) returns Boolean
|
||||
---Purpose: Returns True if VMax is infinite. Default
|
||||
-- Precision::IsPositiveInfinite(VMax);
|
||||
is virtual;
|
||||
|
||||
VMinInfinite(me) returns Boolean
|
||||
---Purpose: Returns True if VMin is infinite. Default
|
||||
-- Precision::IsNegativeInfinite(VMax);
|
||||
is virtual;
|
||||
|
||||
|
||||
-- Usefull booleans
|
||||
|
||||
HasTop(me) returns Boolean
|
||||
---Purpose: Returns True if there is a top face.
|
||||
--
|
||||
-- That is neither : VMaxInfinite()
|
||||
-- MeridianClosed()
|
||||
-- MeridianOnAxis(VMax)
|
||||
is virtual;
|
||||
|
||||
HasBottom(me) returns Boolean
|
||||
---Purpose: Returns True if there is a bottom face.
|
||||
--
|
||||
-- That is neither : VMinInfinite()
|
||||
-- MeridianClosed()
|
||||
-- MeridianOnAxis(VMin)
|
||||
is virtual;
|
||||
|
||||
HasSides(me) returns Boolean
|
||||
---Purpose: Returns True if there are Start and End faces.
|
||||
--
|
||||
-- That is : 2*PI - Angle > Precision::Angular()
|
||||
is virtual;
|
||||
|
||||
|
||||
--
|
||||
-- Methods to get the Topology of:
|
||||
--
|
||||
|
||||
-- the shell
|
||||
Shell(me : in out) returns Shell from TopoDS
|
||||
---Purpose: Returns the Shell containing all the Faces of the
|
||||
-- primitive.
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
-- the Faces
|
||||
|
||||
LateralFace(me : in out) returns Face from TopoDS
|
||||
---Purpose: Returns the lateral Face. It is oriented toward
|
||||
-- the outside of the primitive.
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
TopFace(me : in out) returns Face from TopoDS
|
||||
---Purpose: Returns the top planar Face. It is Oriented
|
||||
-- toward the +Z axis (outside).
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasTop()
|
||||
is static;
|
||||
|
||||
BottomFace(me : in out) returns Face from TopoDS
|
||||
---Purpose: Returns the Bottom planar Face. It is Oriented
|
||||
-- toward the -Z axis (outside).
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasBottom()
|
||||
is static;
|
||||
|
||||
StartFace(me : in out) returns Face from TopoDS
|
||||
---Purpose: Returns the Face starting the slice, it is
|
||||
-- oriented toward the exterior of the primitive.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides()
|
||||
is static;
|
||||
|
||||
EndFace(me : in out) returns Face from TopoDS
|
||||
---Purpose: Returns the Face ending the slice, it is oriented
|
||||
-- toward the exterior of the primitive.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides()
|
||||
is static;
|
||||
|
||||
-- Wires
|
||||
|
||||
LateralWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the lateral face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMinInfinite() && VMaxInfinite()
|
||||
is static;
|
||||
|
||||
LateralStartWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the lateral face with the
|
||||
-- start edge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (VMinInfinite() && VMaxInfinite())
|
||||
is static;
|
||||
|
||||
LateralEndWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire with in lateral face with the end
|
||||
-- edge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (VMinInfinite() && VMaxInfinite())
|
||||
is static;
|
||||
|
||||
TopWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the top face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasTop()
|
||||
is static;
|
||||
|
||||
BottomWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the bottom face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasBottom()
|
||||
is static;
|
||||
|
||||
StartWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the start face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides()
|
||||
is static;
|
||||
|
||||
AxisStartWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the wire in the start face with the
|
||||
-- AxisEdge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides() ! (VMinInfinite() && VMaxInfinite())
|
||||
is static;
|
||||
|
||||
EndWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the Wire in the end face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides()
|
||||
is static;
|
||||
|
||||
AxisEndWire(me : in out) returns Wire from TopoDS
|
||||
---Purpose: Returns the Wire in the end face with the
|
||||
-- AxisEdge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !HasSides() ! (VMinInfinite() && VMaxInfinite())
|
||||
is static;
|
||||
|
||||
|
||||
-- Edges
|
||||
|
||||
AxisEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the Edge built along the Axis and oriented
|
||||
-- on +Z of the Axis.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (MeridianOnAxis(VMin) || MeridianOnAxis(VMax))
|
||||
is static;
|
||||
|
||||
StartEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the Edge at angle 0.
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
EndEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the Edge at angle Angle. If !HasSides()
|
||||
-- the StartEdge and the EndEdge are the same edge.
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
StartTopEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the linear Edge between start Face and top
|
||||
-- Face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (HasTop() && HasSides())
|
||||
is static;
|
||||
|
||||
StartBottomEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the linear Edge between start Face and
|
||||
-- bottom Face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (HasBottom() && HasSides())
|
||||
is static;
|
||||
|
||||
EndTopEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the linear Edge between end Face and top
|
||||
-- Face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (HasTop() && HasSides())
|
||||
is static;
|
||||
|
||||
EndBottomEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the linear Edge between end Face and
|
||||
-- bottom Face.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if ! (HasBottom() && HasSides())
|
||||
is static;
|
||||
|
||||
TopEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the edge at VMax. If MeridianClosed() the
|
||||
-- TopEdge and the BottomEdge are the same edge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMaxInfinite()
|
||||
is static;
|
||||
|
||||
BottomEdge(me : in out) returns Edge from TopoDS
|
||||
---Purpose: Returns the edge at VMin. If MeridianClosed() the
|
||||
-- TopEdge and the BottomEdge are the same edge.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMinInfinite()
|
||||
is static;
|
||||
|
||||
-- Vertices
|
||||
|
||||
AxisTopVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the Vertex at the Top altitude on the axis.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !MeridianOnAxis(VMax)
|
||||
is static;
|
||||
|
||||
AxisBottomVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the Vertex at the Bottom altitude on the
|
||||
-- axis.
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if !MeridianOnAxis(VMin)
|
||||
is static;
|
||||
|
||||
TopStartVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the vertex (0,VMax)
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMaxInfinite()
|
||||
is static;
|
||||
|
||||
TopEndVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the vertex (angle,VMax)
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMaxInfinite()
|
||||
is static;
|
||||
|
||||
BottomStartVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the vertex (0,VMin)
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMinInfinite()
|
||||
is static;
|
||||
|
||||
BottomEndVertex(me : in out) returns Vertex from TopoDS
|
||||
---Purpose: Returns the vertex (angle,VMax)
|
||||
--
|
||||
---C++: return const &
|
||||
raises DomainError -- if VMinInfinite()
|
||||
is static;
|
||||
|
||||
fields
|
||||
myBuilder : Builder from BRepPrim is protected;
|
||||
myAxes : Ax2 from gp;
|
||||
|
||||
myAngle : Real from Standard;
|
||||
myVMin : Real from Standard;
|
||||
myVMax : Real from Standard;
|
||||
myMeridianOffset : Real from Standard;
|
||||
|
||||
-- the Topology
|
||||
|
||||
myShell : Shell from TopoDS;
|
||||
ShellBuilt : Boolean;
|
||||
|
||||
myVertices : Vertex from TopoDS [6];
|
||||
-- 0 : Vertex on top of the axis
|
||||
-- 1 : on bottom of the axis
|
||||
-- 2 : top, start
|
||||
-- 3 : top, end
|
||||
-- 4 : bottom, start
|
||||
-- 5 : bottom, end
|
||||
VerticesBuilt : Boolean [6];
|
||||
|
||||
myEdges : Edge from TopoDS [9];
|
||||
-- 0 : Edge on the Axis
|
||||
-- 1 : Start Edge
|
||||
-- 2 : End Edge
|
||||
-- 3 : Start Top
|
||||
-- 4 : Start Bottom
|
||||
-- 5 : End Top
|
||||
-- 6 : End Bottom
|
||||
-- 7 : Top
|
||||
-- 8 : Bottom
|
||||
EdgesBuilt : Boolean [9];
|
||||
|
||||
myWires : Wire from TopoDS [9];
|
||||
-- 0 : wire Lateral
|
||||
-- 1 : Lateral Start
|
||||
-- 2 : Lateral End
|
||||
-- 3 : Top
|
||||
-- 4 : Bottom
|
||||
-- 5 : Start
|
||||
-- 6 : Axis Start
|
||||
-- 7 : End
|
||||
-- 8 : Axis End
|
||||
WiresBuilt : Boolean [9];
|
||||
|
||||
myFaces : Face from TopoDS [5];
|
||||
-- 0 : Lateral Face
|
||||
-- 1 : Top
|
||||
-- 2 : Bottom
|
||||
-- 3 : Start
|
||||
-- 4 : End
|
||||
FacesBuilt : Boolean [5];
|
||||
|
||||
|
||||
end OneAxis;
|
1390
src/BRepPrim/BRepPrim_OneAxis.cxx
Normal file
1390
src/BRepPrim/BRepPrim_OneAxis.cxx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,164 +0,0 @@
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRepPrim_OneAxis_HeaderFile
|
||||
#define _BRepPrim_OneAxis_HeaderFile
|
||||
|
||||
#include <BRepPrim_Builder.hxx>
|
||||
#include <gp_Ax2.hxx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
|
||||
class Standard_DomainError;
|
||||
class Standard_OutOfRange;
|
||||
class TopoDS_Shell;
|
||||
class TopoDS_Face;
|
||||
class TopoDS_Wire;
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Vertex;
|
||||
class BRepPrim_Builder;
|
||||
class gp_Ax2;
|
||||
class gp_Pnt2d;
|
||||
|
||||
|
||||
#ifndef _Standard_HeaderFile
|
||||
#include <Standard.hxx>
|
||||
#endif
|
||||
#ifndef _Standard_DefineAlloc_HeaderFile
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#endif
|
||||
#ifndef _Standard_Macro_HeaderFile
|
||||
#include <Standard_Macro.hxx>
|
||||
#endif
|
||||
|
||||
class BRepPrim_OneAxis {
|
||||
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
// Methods PUBLIC
|
||||
//
|
||||
Standard_EXPORT virtual void Delete() ;
|
||||
Standard_EXPORT virtual ~BRepPrim_OneAxis()
|
||||
//Standard_EXPORT virtual ~()
|
||||
{
|
||||
Delete();
|
||||
}
|
||||
|
||||
Standard_EXPORT void SetMeridianOffset(const Standard_Real MeridianOffset = 0) ;
|
||||
Standard_EXPORT const gp_Ax2& Axes() const;
|
||||
Standard_EXPORT void Axes(const gp_Ax2& A) ;
|
||||
Standard_EXPORT Standard_Real Angle() const;
|
||||
Standard_EXPORT void Angle(const Standard_Real A) ;
|
||||
Standard_EXPORT Standard_Real VMin() const;
|
||||
Standard_EXPORT void VMin(const Standard_Real V) ;
|
||||
Standard_EXPORT Standard_Real VMax() const;
|
||||
Standard_EXPORT void VMax(const Standard_Real V) ;
|
||||
Standard_EXPORT virtual TopoDS_Face MakeEmptyLateralFace() const = 0;
|
||||
Standard_EXPORT virtual TopoDS_Edge MakeEmptyMeridianEdge(const Standard_Real Ang) const = 0;
|
||||
Standard_EXPORT virtual void SetMeridianPCurve(TopoDS_Edge& E,const TopoDS_Face& F) const = 0;
|
||||
Standard_EXPORT virtual gp_Pnt2d MeridianValue(const Standard_Real V) const = 0;
|
||||
Standard_EXPORT virtual Standard_Boolean MeridianOnAxis(const Standard_Real V) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MeridianClosed() const;
|
||||
Standard_EXPORT virtual Standard_Boolean VMaxInfinite() const;
|
||||
Standard_EXPORT virtual Standard_Boolean VMinInfinite() const;
|
||||
Standard_EXPORT virtual Standard_Boolean HasTop() const;
|
||||
Standard_EXPORT virtual Standard_Boolean HasBottom() const;
|
||||
Standard_EXPORT virtual Standard_Boolean HasSides() const;
|
||||
Standard_EXPORT const TopoDS_Shell& Shell() ;
|
||||
Standard_EXPORT const TopoDS_Face& LateralFace() ;
|
||||
Standard_EXPORT const TopoDS_Face& TopFace() ;
|
||||
Standard_EXPORT const TopoDS_Face& BottomFace() ;
|
||||
Standard_EXPORT const TopoDS_Face& StartFace() ;
|
||||
Standard_EXPORT const TopoDS_Face& EndFace() ;
|
||||
Standard_EXPORT const TopoDS_Wire& LateralWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& LateralStartWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& LateralEndWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& TopWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& BottomWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& StartWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& AxisStartWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& EndWire() ;
|
||||
Standard_EXPORT const TopoDS_Wire& AxisEndWire() ;
|
||||
Standard_EXPORT const TopoDS_Edge& AxisEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& StartEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& EndEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& StartTopEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& StartBottomEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& EndTopEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& EndBottomEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& TopEdge() ;
|
||||
Standard_EXPORT const TopoDS_Edge& BottomEdge() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& AxisTopVertex() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& AxisBottomVertex() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& TopStartVertex() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& TopEndVertex() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& BottomStartVertex() ;
|
||||
Standard_EXPORT const TopoDS_Vertex& BottomEndVertex() ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
// Methods PROTECTED
|
||||
//
|
||||
Standard_EXPORT BRepPrim_OneAxis(const BRepPrim_Builder& B,const gp_Ax2& A,const Standard_Real VMin,const Standard_Real VMax);
|
||||
|
||||
|
||||
// Fields PROTECTED
|
||||
//
|
||||
BRepPrim_Builder myBuilder;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Methods PRIVATE
|
||||
//
|
||||
|
||||
|
||||
// Fields PRIVATE
|
||||
//
|
||||
gp_Ax2 myAxes;
|
||||
Standard_Real myAngle;
|
||||
Standard_Real myVMin;
|
||||
Standard_Real myVMax;
|
||||
Standard_Real myMeridianOffset;
|
||||
TopoDS_Shell myShell;
|
||||
Standard_Boolean ShellBuilt;
|
||||
TopoDS_Vertex myVertices[6];
|
||||
Standard_Boolean VerticesBuilt[6];
|
||||
TopoDS_Edge myEdges[9];
|
||||
Standard_Boolean EdgesBuilt[9];
|
||||
TopoDS_Wire myWires[9];
|
||||
Standard_Boolean WiresBuilt[9];
|
||||
TopoDS_Face myFaces[5];
|
||||
Standard_Boolean FacesBuilt[5];
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// other Inline functions and methods (like "C++: function call" methods)
|
||||
//
|
||||
|
||||
|
||||
#endif
|
@@ -1,71 +0,0 @@
|
||||
# Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
#
|
||||
# This file is part of Open CASCADE Technology software library.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Alternatively, this file may be used under the terms of Open CASCADE
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
proc BRepPrim_Replace:AdmFileType {} {
|
||||
return "dbadmfile";
|
||||
}
|
||||
|
||||
proc BRepPrim_Replace:OutputDirTypeName {} {
|
||||
return "dbtmpfile";
|
||||
}
|
||||
|
||||
|
||||
proc BRepPrim_Replace:HandleInputFile { ID } {
|
||||
|
||||
scan $ID "%\[^:\]:%\[^:\]:%\[^:\]" unit type name
|
||||
|
||||
switch $name {
|
||||
BRepPrim_OneAxis.hxx {return 1;}
|
||||
default {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc BRepPrim_Replace:Execute { unit args } {
|
||||
|
||||
global tcl_interactive
|
||||
|
||||
set tcl_interactive 1
|
||||
package require Wokutils
|
||||
|
||||
msgprint -i -c "BRepPrim_Replace:Execute" "Copying of BRepPrim includes"
|
||||
|
||||
if { [wokparam -e %Station $unit] != "wnt" } {
|
||||
set copycmd "cp -p "
|
||||
set replstr "/"
|
||||
} {
|
||||
set copycmd "cmd /c copy"
|
||||
set replstr "\\\\\\\\"
|
||||
}
|
||||
|
||||
foreach file $args {
|
||||
scan $file "%\[^:\]:%\[^:\]:%\[^:\]" Unit type name
|
||||
|
||||
regsub ".hxx" $name ".hxx" sourcename
|
||||
|
||||
set source [woklocate -p BRepPrim:source:$sourcename [wokinfo -N $unit]]
|
||||
set vistarget [woklocate -p BRepPrim:pubinclude:$name [wokinfo -N $unit]]
|
||||
set target [wokinfo -p pubinclude:$name $unit]
|
||||
|
||||
regsub -all "/" " $source $target" $replstr TheArgs
|
||||
|
||||
msgprint -i -c "BRepPrim_Replace:Execute" "Copy $source to $target"
|
||||
if { [file exist $target] && [wokparam -e %Station] != "wnt" } {
|
||||
eval exec "chmod u+w $target"
|
||||
}
|
||||
eval exec "$copycmd $TheArgs"
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
@@ -1,26 +0,0 @@
|
||||
-- Created by: JR
|
||||
-- Copyright (c) 1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- 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.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
@ifnotdefined ( %BRepPrim_WOKSteps_EDL) then
|
||||
|
||||
@set %BRepPrim_WOKSteps_EDL = "";
|
||||
|
||||
@string %WOKSteps_XcppGroup += " xcpp.repl ";
|
||||
@set %WOKSteps_xcpp_repl = "*BRepPrim_Replace(xcpp.header)";
|
||||
|
||||
@set %BRepPrim_UseSourceInclude = "";
|
||||
|
||||
@endif;
|
||||
|
@@ -1,3 +0,0 @@
|
||||
BRepPrim_OneAxis.hxx
|
||||
BRepPrim_Replace.tcl
|
||||
BRepPrim_WOKSteps.edl
|
Reference in New Issue
Block a user