1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

Integration of OCCT 6.5.0 from SVN

This commit is contained in:
bugmaster
2011-03-16 07:30:28 +00:00
committed by bugmaster
parent 4903637061
commit 7fd59977df
16375 changed files with 3882564 additions and 0 deletions

165
src/BRep/BRep.cdl Executable file
View File

@@ -0,0 +1,165 @@
-- File: BRep.cdl
-- Created: Thu Jun 27 15:41:11 1991
-- Author: Remi LEQUETTE
-- <rle@phobox>
---Copyright: Matra Datavision 1991, 1992
package BRep
---Purpose: This package describes a Boundary Representation
-- Data Structure inherited from the abstract
-- Topology defined in the TopoDS package. The
-- geometric data are provided by the Geom and Geom2d
-- packages.
--
-- The TVertex, TEdge, and TFace are redefined in
-- this package to add geometric information.
---Level : Public
-- All methods of all classes will be public.
uses
MMgt, -- Memory management
TCollection, -- Basic data structures
TColStd, -- HArray1OfInteger
gp, -- Elementary geometry
Bnd, -- Bounding boxes
TopLoc, -- Local coordinate systems
TopAbs, -- Enumerations : Orientation, ShapeType
TopoDS, -- Abstract topological data structure
GeomAbs, -- Enumerations : Shape
Geom, -- 3D geometry : curves and surfaces
Geom2d, -- 2D geometry : curves in parametric space
Poly -- Triangulations and Polygons
is
--
-- Face
--
class TFace;
---Purpose: The TFace class is inherited from the TFace from
-- TopoDS. It contains a surface, a tolerance and a
-- natural restriction flag.
--
-- Edge
--
-- An Edge is defined by a list of curve representations which
-- are either :
--
-- Geometric representations :
--
-- * A 3d curve (at most one)
--
-- * A curve on surface, curve in parametric space.
--
-- * A curve on closed surface, two curves in parametric space.
--
-- Polygonal representations :
--
-- * A 3d polygon (at most one).
--
-- * A Polygon on triangulation (array of node indices)
--
-- * A Polygon on closed triangulation (2 arrays of node indices)
--
-- * A polygon on surface (array of 2d points in parametric space)
--
-- Curve on 2 surfaces :
--
-- * This is used for storing shape continuity.
--
deferred class CurveRepresentation;
---Purpose: Root for curve representations. Contains a
-- location.
class ListOfCurveRepresentation instantiates
List from TCollection (CurveRepresentation from BRep);
deferred class GCurve;
---Purpose: Root class for geometric curves representations.
-- Contains a first an a last parameter.
class Curve3D;
---Purpose: Representation by a 3d curve.
class CurveOnSurface;
---Purpose: Representation by a curve in the parametric space
-- of a surface.
class CurveOnClosedSurface;
---Purpose: Representation by two curves in the parametric
-- space of a closed surface.
class Polygon3D;
---Purpose: Representation by a 3D polygon.
class PolygonOnTriangulation;
---Purpose: Representation by an array of indices on a
-- triangulation.
class PolygonOnClosedTriangulation;
---Purpose: Representation by two arrays of indices on a
-- triangulation.
class PolygonOnSurface;
---Purpose: Representation by 2d polygon in the parametric space
-- of a surface.
class PolygonOnClosedSurface;
---Purpose: Representation by two 2d polygons in the parametric
-- space of the surface.
class CurveOn2Surfaces;
---Purpose: Geometric continuity bewtween two surfaces.
class TEdge;
---Purpose: The TEdge class is inherited from the TEdge from
-- TopoDS. It contains a 3d curve and a list of
-- representations.
--
-- Vertex
--
deferred class PointRepresentation;
---Purpose: Root for point representations. Contains a
-- location.
class ListOfPointRepresentation instantiates
List from TCollection (PointRepresentation from BRep);
class PointOnCurve;
---Purpose: Representation by a parameter on a 3D curve.
deferred class PointsOnSurface;
---Purpose: Root for points on surface.
class PointOnCurveOnSurface;
---Purpose: Representation by a parameter on a curve on a
-- surface.
class PointOnSurface;
---Purpose: Representation by two parameters on a surface.
class TVertex;
---Purpose: The TVertex class is inherited from the TVertex
-- from TopoDS. It contains a 3d point and a
-- location.
class Builder;
---Purpose: The Builder from BRep is inherited from the
-- Builder3D from TopoDS. It is used to build
-- Shapes.
class Tool;
---Purpose: The Tool from BRep is used to access the geometric
-- data.
end BRep;

554
src/BRep/BRep_Builder.cdl Executable file
View File

@@ -0,0 +1,554 @@
-- File: Builder.cdl
-- Created: Mon Jul 1 10:04:42 1991
-- Author: Remi LEQUETTE
---Copyright: Matra Datavision 1991, 1992
class Builder from BRep inherits Builder from TopoDS
---Purpose: A framework providing advanced tolerance control.
-- If tolerance control is required, you are advised to:
-- 1. build a default precision for topology, using the
-- classes provided in the BRepAPI package
-- 2. update the tolerance of the resulting shape.
-- Note that only vertices, edges and faces have
-- meaningful tolerance control. The tolerance value
-- must always comply with the condition that face
-- tolerances are more restrictive than edge tolerances
-- which are more restrictive than vertex tolerances. In
-- other words: Tol(Vertex) >= Tol(Edge) >= Tol(Face).
-- Other rules in setting tolerance include:
-- - you can open up tolerance but should never restrict it
-- - an edge cannot be included within the fusion of the
-- tolerance spheres of two vertices
uses
Location from TopLoc,
Shape from TopoDS,
Vertex from TopoDS,
Edge from TopoDS,
Face from TopoDS,
Shape from GeomAbs,
Surface from Geom,
Curve from Geom,
Curve from Geom2d,
Triangulation from Poly,
Polygon3D from Poly,
Polygon2D from Poly,
PolygonOnTriangulation from Poly,
HArray1OfInteger from TColStd,
HArray1OfReal from TColStd,
Pnt from gp,
Pnt2d from gp
raises
NullObject from Standard,
DomainError from Standard
is
-----------------------------------------------------------
-----------------------------------------------------------
-- Face --
-----------------------------------------------------------
-----------------------------------------------------------
-------------------------------------------------------
-- Construction
-------------------------------------------------------
MakeFace(me; F : out Face from TopoDS);
---C++: inline
---Purpose: Makes an undefined Face.
MakeFace(me; F : out Face from TopoDS;
S : Surface from Geom;
Tol : Real)
---Purpose: Makes a Face with a surface.
raises
NullObject from Standard; -- If <S> is null.
MakeFace(me; F : out Face from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real)
---Purpose: Makes a Face with a surface and a location.
raises
NullObject from Standard; -- If <S> is null.
MakeFace(me; F : out Face from TopoDS;
T : Triangulation from Poly)
---Purpose: Makes a Face with a triangulation. The triangulation
-- is in the same reference system than the TFace.
--
raises
NullObject from Standard; -- If <S> is null.
UpdateFace(me; F : Face from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real)
---Purpose: Updates the face F using the tolerance value Tol,
-- surface S and location Location.
raises
NullObject from Standard; -- If <S> is null.
UpdateFace(me; F : Face from TopoDS;
T : Triangulation from Poly)
---Purpose: Changes a face triangulation.
--
-- A null Triangulation removes the triangulation.
--
raises
NullObject from Standard; -- If <S> is null.
UpdateFace(me; F : Face from TopoDS;
Tol : Real);
---Purpose: Updates the face Tolerance.
-------------------------------------------------------
-- Face flags
-------------------------------------------------------
NaturalRestriction(me; F : Face from TopoDS;
N : Boolean)
---Purpose: Sets the NaturalRestriction flag of the face.
raises
NullObject from Standard; -- If <F> is null.
-----------------------------------------------------------
-----------------------------------------------------------
-- Edge --
-----------------------------------------------------------
-----------------------------------------------------------
-------------------------------------------------------
-- Edge construction
-------------------------------------------------------
MakeEdge(me; E : out Edge from TopoDS);
---Purpose: Makes an undefined Edge (no geometry).
MakeEdge(me; E : out Edge from TopoDS;
C : Curve from Geom;
Tol : Real);
---C++: inline
---Purpose: Makes an Edge with a curve.
MakeEdge(me; E : out Edge from TopoDS;
C : Curve from Geom;
L : Location from TopLoc;
Tol : Real);
---C++: inline
---Purpose: Makes an Edge with a curve and a location.
MakeEdge(me; E : out Edge from TopoDS;
P : Polygon3D from Poly);
---C++: inline
---Purpose: Makes an Edge with a polygon 3d.
MakeEdge(me; E : out Edge from TopoDS;
N : PolygonOnTriangulation from Poly;
T : Triangulation from Poly);
---C++: inline
---Purpose: makes an Edge polygon on Triangulation.
MakeEdge(me; E : out Edge from TopoDS;
N : PolygonOnTriangulation from Poly;
T : Triangulation from Poly;
L : Location from TopLoc);
---C++: inline
---Purpose: makes an Edge polygon on Triangulation.
-------------------------------------------------------
-- Edge update
--
-------------------------------------------------------
UpdateEdge(me; E : Edge from TopoDS;
C : Curve from Geom;
Tol : Real);
---C++: inline
---Purpose: Sets a 3D curve for the edge.
-- If <C> is a null handle, remove any existing 3d curve.
UpdateEdge(me; E : Edge from TopoDS;
C : Curve from Geom;
L : Location from TopLoc;
Tol : Real);
---Purpose: Sets a 3D curve for the edge.
-- If <C> is a null handle, remove any existing 3d curve.
UpdateEdge(me; E : Edge from TopoDS;
C : Curve from Geom2d;
F : Face from TopoDS;
Tol : Real);
---C++: inline
---Purpose: Sets a pcurve for the edge on the face.
-- If <C> is a null handle, remove any existing pcurve.
UpdateEdge(me; E : Edge from TopoDS;
C1,C2 : Curve from Geom2d;
F : Face from TopoDS;
Tol : Real);
---C++: inline
---Purpose: Sets pcurves for the edge on the closed face. If
-- <C1> or <C2> is a null handle, remove any existing
-- pcurve.
UpdateEdge(me; E : Edge from TopoDS;
C : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real);
---Purpose: Sets a pcurve for the edge on the face.
-- If <C> is a null handle, remove any existing pcurve.
UpdateEdge(me; E : Edge from TopoDS;
C : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real;
Pf,Pl : Pnt2d from gp);
---Purpose: Sets a pcurve for the edge on the face.
-- If <C> is a null handle, remove any existing pcurve.
-- Sets UV bounds for curve repsentation
UpdateEdge(me; E : Edge from TopoDS;
C1,C2 : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real);
---Purpose: Sets pcurves for the edge on the closed surface.
-- <C1> or <C2> is a null handle, remove any existing
-- pcurve.
UpdateEdge(me; E : Edge from TopoDS;
C1,C2 : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real;
Pf,Pl : Pnt2d from gp);
---Purpose: Sets pcurves for the edge on the closed surface.
-- <C1> or <C2> is a null handle, remove any existing
-- pcurve.
-- Sets UV bounds for curve repsentation
UpdateEdge(me; E : Edge from TopoDS;
P : Polygon3D from Poly);
---C++: inline
---Purpose: Changes an Edge 3D polygon.
-- A null Polygon removes the 3d Polygon.
UpdateEdge(me; E : Edge from TopoDS;
P : Polygon3D from Poly;
L : Location from TopLoc);
---Purpose: Changes an Edge 3D polygon.
-- A null Polygon removes the 3d Polygon.
UpdateEdge(me; E : Edge from TopoDS;
N : PolygonOnTriangulation from Poly;
T : Triangulation from Poly);
---C++: inline
---Purpose: Changes an Edge polygon on Triangulation.
UpdateEdge(me; E : Edge from TopoDS;
N : PolygonOnTriangulation from Poly;
T : Triangulation from Poly;
L : Location from TopLoc);
---Purpose: Changes an Edge polygon on Triangulation.
UpdateEdge(me; E : Edge from TopoDS;
N1, N2 : PolygonOnTriangulation from Poly;
T : Triangulation from Poly);
---C++: inline
---Purpose: Changes an Edge polygon on Triangulation.
UpdateEdge(me; E : Edge from TopoDS;
N1, N2 : PolygonOnTriangulation from Poly;
T : Triangulation from Poly;
L : Location from TopLoc);
---Purpose: Changes an Edge polygon on Triangulation.
UpdateEdge(me; E: Edge from TopoDS;
P: Polygon2D from Poly;
S: Face from TopoDS)
---Purpose: Changes Edge polygon on a face.
--
--
raises
NullObject from Standard; -- If <E> is null.
UpdateEdge(me; E: Edge from TopoDS;
P: Polygon2D from Poly;
S: Surface from Geom;
T: Location from TopLoc)
---Purpose: Changes Edge polygon on a face.
--
--
raises
NullObject from Standard; -- If <E> is null.
UpdateEdge(me; E : Edge from TopoDS;
P1, P2: Polygon2D from Poly;
S : Face from TopoDS)
---Purpose: Changes Edge polygons on a face.
--
-- A null Polygon removes the 2d Polygon.
--
raises
NullObject from Standard; -- If <E> is null.
UpdateEdge(me; E : Edge from TopoDS;
P1, P2: Polygon2D from Poly;
S : Surface from Geom;
L : Location from TopLoc)
---Purpose: Changes Edge polygons on a face.
--
-- A null Polygon removes the 2d Polygon.
--
raises
NullObject from Standard; -- If <E> is null.
UpdateEdge(me; E : Edge from TopoDS;
Tol : Real);
---Purpose: Updates the edge tolerance.
-------------------------------------------------------
-- Edge continuity
-------------------------------------------------------
Continuity(me; E : Edge from TopoDS;
F1,F2 : Face from TopoDS;
C : Shape from GeomAbs)
---Purpose: Sets the geometric continuity on the edge.
raises
NullObject from Standard; -- If <E>, <F1> or <F2> is Null
Continuity(me; E : Edge from TopoDS;
S1,S2 : Surface from Geom;
L1,L2 : Location from TopLoc;
C : Shape from GeomAbs)
---Purpose: Sets the geometric continuity on the edge.
raises
NullObject from Standard; -- If <E>, <F1> or <F2> is Null
-------------------------------------------------------
-- Edge flags
-------------------------------------------------------
SameParameter(me; E : Edge from TopoDS;
S : Boolean)
---Purpose: Sets the same parameter flag for the edge <E>.
raises
NullObject from Standard; -- If <E> is Null
SameRange(me; E : Edge from TopoDS;
S : Boolean)
---Purpose: Sets the same range flag for the edge <E>.
raises
NullObject from Standard; -- If <E> is Null
Degenerated(me; E : Edge from TopoDS;
D : Boolean)
---Purpose: Sets the degenerated flag for the edge <E>.
raises
NullObject from Standard; -- If <E> is Null
-------------------------------------------------------
-- Edge parameter range
-------------------------------------------------------
Range(me; E : Edge from TopoDS;
First, Last : Real;
Only3d : Boolean from Standard = Standard_False)
---Purpose: Sets the range of the 3d curve if Only3d=TRUE,
-- otherwise sets the range to all the representations
raises
NullObject from Standard; -- If <E> is Null
Range(me; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
First, Last : Real)
---Purpose: Sets the range of the edge on the pcurve on the
-- surface.
raises
NullObject from Standard; -- If <E> is Null
Range(me; E : Edge from TopoDS;
F : Face from TopoDS;
First, Last : Real);
---C++: inline
---Purpose: Sets the range of the edge on the pcurve on the face.
-------------------------------------------------------
-- Edge transfer of geometry
-------------------------------------------------------
Transfert(me; Ein, Eout : Edge from TopoDS)
---Purpose: Add to <Eout> the geometric representations of
-- <Ein>.
raises
NullObject from Standard; -- If <Ein,Eout> is Null
-----------------------------------------------------------
-----------------------------------------------------------
-- Vertex --
-----------------------------------------------------------
-----------------------------------------------------------
-------------------------------------------------------
-- Vertex construction from geometry
-------------------------------------------------------
MakeVertex(me; V : out Vertex from TopoDS);
---C++: inline
---Purpose: Makes an udefined vertex without geometry.
MakeVertex(me; V : out Vertex from TopoDS;
P : Pnt from gp;
Tol : Real);
---C++: inline
---Purpose: Makes a vertex from a 3D point.
-------------------------------------------------------
-- Vertex update
-------------------------------------------------------
UpdateVertex(me; V : Vertex from TopoDS;
P : Pnt from gp;
Tol : Real)
---Purpose: Sets a 3D point on the vertex.
raises
NullObject from Standard; -- If <V> is Null
UpdateVertex(me; V : Vertex from TopoDS;
P : Real;
E : Edge from TopoDS;
Tol : Real)
---Purpose: Sets the parameter for the vertex on the edge
-- curves.
raises
NullObject from Standard, -- If <V> or <E> is Null
DomainError from Standard; -- If <V> is not the first or last vertex.
UpdateVertex(me; V : Vertex from TopoDS;
P : Real;
E : Edge from TopoDS;
F : Face from TopoDS;
Tol : Real);
---C++: inline
---Purpose: Sets the parameter for the vertex on the edge
-- pcurve on the face.
UpdateVertex(me; V : Vertex from TopoDS;
P : Real;
E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
Tol : Real)
---Purpose: Sets the parameter for the vertex on the edge
-- pcurve on the surface.
raises
DomainError from Standard; -- If <V> is not the first or last vertex.
UpdateVertex(me; Ve : Vertex from TopoDS;
U,V : Real;
F : Face from TopoDS;
Tol : Real)
---Purpose: Sets the parameters for the vertex on the face.
raises
NullObject from Standard, -- If <Ve> or <F> is Null
DomainError from Standard; -- If <Ve> is not the first or last vertex.
UpdateVertex(me; V : Vertex from TopoDS;
Tol : Real);
---Purpose: Updates the vertex tolerance.
-------------------------------------------------------
-- Vertex transfer of parameters
-------------------------------------------------------
Transfert(me; Ein, Eout : Edge from TopoDS;
Vin, Vout : Vertex from TopoDS)
---Purpose: Transfert the parameters of Vin on Ein as the
-- parameter of Vout on Eout.
raises
NullObject from Standard;
end Builder;

1331
src/BRep/BRep_Builder.cxx Executable file

File diff suppressed because it is too large Load Diff

231
src/BRep/BRep_Builder.lxx Executable file
View File

@@ -0,0 +1,231 @@
// File: BRep_Builder.lxx
// Created: Tue Jul 2 11:45:26 1991
// Author: Remi LEQUETTE
#include <TopoDS_Face.hxx>
#include <TopoDS_Vertex.hxx>
#include <BRep_TFace.hxx>
#include <BRep_TVertex.hxx>
#include <BRep_Tool.hxx>
//=======================================================================
//function : MakeFace
//purpose :
//=======================================================================
inline void BRep_Builder::MakeFace(TopoDS_Face& F) const
{
Handle(BRep_TFace) TF = new BRep_TFace();
MakeShape(F,TF);
}
//=======================================================================
//function : MakeEdge
//purpose : make edge from curve
//=======================================================================
inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
const Handle(Geom_Curve)& C,
const Standard_Real Tol) const
{
MakeEdge(E);
UpdateEdge(E,C,TopLoc_Location(),Tol);
}
//=======================================================================
//function : MakeEdge
//purpose : make edge from curve
//=======================================================================
inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
const Handle(Poly_Polygon3D)& P) const
{
MakeEdge(E);
UpdateEdge(E,P);
}
//=======================================================================
//function : MakeEdge
//purpose : make edge from triangulation
//=======================================================================
inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
const Handle(Poly_PolygonOnTriangulation)& P,
const Handle(Poly_Triangulation)& T) const
{
MakeEdge(E);
UpdateEdge(E,P,T,TopLoc_Location());
}
//=======================================================================
//function : MakeEdge
//purpose : make edge from triangulation
//=======================================================================
inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
const Handle(Poly_PolygonOnTriangulation)& P,
const Handle(Poly_Triangulation)& T,
const TopLoc_Location& L) const
{
MakeEdge(E);
UpdateEdge(E,P,T,L);
}
//=======================================================================
//function : MakeEdge
//purpose : make edge from curve
//=======================================================================
inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
const Handle(Geom_Curve)& C,
const TopLoc_Location& L,
const Standard_Real Tol) const
{
MakeEdge(E);
UpdateEdge(E,C,L,Tol);
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Geom_Curve)& C,
const Standard_Real Tol) const
{
UpdateEdge(E,C,TopLoc_Location(),Tol);
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Geom2d_Curve)& C,
const TopoDS_Face& F,
const Standard_Real Tol) const
{
TopLoc_Location l;
UpdateEdge(E,C,BRep_Tool::Surface(F,l),l,Tol);
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Geom2d_Curve)& C1,
const Handle(Geom2d_Curve)& C2,
const TopoDS_Face& F,
const Standard_Real Tol) const
{
TopLoc_Location l;
UpdateEdge(E,C1,C2,BRep_Tool::Surface(F,l),l,Tol);
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Poly_Polygon3D)& P) const
{
UpdateEdge(E,P,TopLoc_Location());
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Poly_PolygonOnTriangulation)& P,
const Handle(Poly_Triangulation)& T) const
{
UpdateEdge(E,P,T,TopLoc_Location());
}
//=======================================================================
//function : UpdateEdge
//purpose :
//=======================================================================
inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
const Handle(Poly_PolygonOnTriangulation)& P1,
const Handle(Poly_PolygonOnTriangulation)& P2,
const Handle(Poly_Triangulation)& T) const
{
UpdateEdge(E,P1,P2,T,TopLoc_Location());
}
//=======================================================================
//function : Range
//purpose :
//=======================================================================
inline void BRep_Builder::Range(const TopoDS_Edge& E,
const TopoDS_Face& F,
const Standard_Real First,
const Standard_Real Last) const
{
TopLoc_Location l;
Range(E,BRep_Tool::Surface(F,l),l,First,Last);
}
//=======================================================================
//function : MakeVertex
//purpose : undefined vertex
//=======================================================================
inline void BRep_Builder::MakeVertex(TopoDS_Vertex& V) const
{
Handle(BRep_TVertex) TV = new BRep_TVertex();
MakeShape(V,TV);
}
//=======================================================================
//function : MakeVertex
//purpose : vertex from 3d point
//=======================================================================
inline void BRep_Builder::MakeVertex(TopoDS_Vertex& V,
const gp_Pnt& P,
const Standard_Real Tol) const
{
MakeVertex(V);
UpdateVertex(V,P,Tol);
}
//=======================================================================
//function : UpdateVertex
//purpose : update vertex with parameter on edge on face
//=======================================================================
inline void BRep_Builder::UpdateVertex(const TopoDS_Vertex& V,
const Standard_Real Par,
const TopoDS_Edge& E,
const TopoDS_Face& F,
const Standard_Real Tol) const
{
TopLoc_Location l;
UpdateVertex(V,Par,E,BRep_Tool::Surface(F,l),l,Tol);
}

46
src/BRep/BRep_Curve3D.cdl Executable file
View File

@@ -0,0 +1,46 @@
-- File: BRep_Curve3D.cdl
-- Created: Tue Jul 6 10:09:31 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class Curve3D from BRep inherits GCurve from BRep
---Purpose: Representation of a curve by a 3D curve.
uses
Pnt from gp,
Location from TopLoc,
Curve from Geom,
CurveRepresentation from BRep
is
Create(C : Curve from Geom;
L : Location from TopLoc)
returns mutable Curve3D from BRep;
D0(me; U : Real; P : out Pnt from gp);
---Purpose: Computes the point at parameter U.
IsCurve3D(me) returns Boolean
---Purpose: Returns True.
is redefined;
Curve3D(me) returns any Curve from Geom
---C++: return const &
is redefined;
Curve3D(me : mutable; C : Curve from Geom)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep;
---Purpose: Return a copy of this representation.
fields
myCurve : Curve from Geom;
end Curve3D;

77
src/BRep/BRep_Curve3D.cxx Executable file
View File

@@ -0,0 +1,77 @@
// File: BRep_Curve3D.cxx
// Created: Tue Jul 6 18:23:00 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_Curve3D.ixx>
//=======================================================================
//function : BRep_Curve3D
//purpose :
//=======================================================================
BRep_Curve3D::BRep_Curve3D(const Handle(Geom_Curve)& C,
const TopLoc_Location& L) :
BRep_GCurve(L,
C.IsNull() ? RealFirst() : C->FirstParameter(),
C.IsNull() ? RealLast() : C->LastParameter()),
myCurve(C)
{
}
//=======================================================================
//function : D0
//purpose :
//=======================================================================
void BRep_Curve3D::D0(const Standard_Real U, gp_Pnt& P) const
{
// shoud be D0 NYI
P = myCurve->Value(U);
}
//=======================================================================
//function : IsCurve3D
//purpose :
//=======================================================================
Standard_Boolean BRep_Curve3D::IsCurve3D()const
{
return Standard_True;
}
//=======================================================================
//function : Curve3D
//purpose :
//=======================================================================
const Handle(Geom_Curve)& BRep_Curve3D::Curve3D()const
{
return myCurve;
}
//=======================================================================
//function : Curve3D
//purpose :
//=======================================================================
void BRep_Curve3D::Curve3D(const Handle(Geom_Curve)& C)
{
myCurve = C;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_Curve3D::Copy() const
{
Handle(BRep_Curve3D) C = new BRep_Curve3D(myCurve,Location());
C->SetRange(First(), Last());
return C;
}

View File

@@ -0,0 +1,70 @@
-- File: BRep_CurveOn2Surfaces.cdl
-- Created: Tue Jul 6 10:22:53 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class CurveOn2Surfaces from BRep inherits CurveRepresentation from BRep
---Purpose: Defines a continuity between two surfaces.
uses
Pnt from gp,
Surface from Geom,
Location from TopLoc,
Shape from GeomAbs,
CurveRepresentation from BRep
raises
NullObject from Standard
is
Create(S1 , S2 : Surface from Geom;
L1 , L2 : Location from TopLoc;
C : Shape from GeomAbs)
returns mutable CurveOn2Surfaces from BRep;
IsRegularity(me) returns Boolean
---Purpose: Returns True.
is redefined;
IsRegularity(me; S1,S2 : Surface from Geom;
L1,L2 : Location from TopLoc)
returns Boolean
---Purpose: A curve on two surfaces (continuity).
is redefined;
D0(me; U : Real; P : out Pnt from gp);
---Purpose: Raises an error.
Surface(me) returns any Surface from Geom
---C++: return const &
is redefined;
Surface2(me) returns any Surface from Geom
---C++: return const &
is redefined;
Location2(me) returns Location from TopLoc
---C++: return const &
is redefined;
Continuity(me) returns Shape from GeomAbs
---C++: return const &
is redefined;
Continuity(me : mutable; C : Shape from GeomAbs)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep;
---Purpose: Return a copy of this representation.
fields
mySurface : Surface from Geom;
mySurface2 : Surface from Geom;
myLocation2 : Location from TopLoc;
myContinuity : Shape from GeomAbs;
end CurveOn2Surfaces;

View File

@@ -0,0 +1,132 @@
// File: BRep_CurveOn2Surfaces.cxx
// Created: Tue Jul 6 19:16:25 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_CurveOn2Surfaces.ixx>
//=======================================================================
//function : BRep_CurveOn2Surfaces
//purpose :
//=======================================================================
BRep_CurveOn2Surfaces::BRep_CurveOn2Surfaces(const Handle(Geom_Surface)& S1,
const Handle(Geom_Surface)& S2,
const TopLoc_Location& L1,
const TopLoc_Location& L2,
const GeomAbs_Shape C) :
BRep_CurveRepresentation(L1),
mySurface(S1),
mySurface2(S2),
myLocation2(L2),
myContinuity(C)
{
}
//=======================================================================
//function : D0
//purpose :
//=======================================================================
void BRep_CurveOn2Surfaces::D0(const Standard_Real , gp_Pnt& )const
{
Standard_NullObject::Raise("BRep_CurveOn2Surfaces::D0");
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOn2Surfaces::IsRegularity()const
{
return Standard_True;
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOn2Surfaces::IsRegularity
(const Handle_Geom_Surface& S1,
const Handle_Geom_Surface& S2,
const TopLoc_Location& L1,
const TopLoc_Location& L2)const
{
return ((mySurface == S1 && mySurface2 == S2 &&
myLocation == L1 && myLocation2 == L2) ||
(mySurface == S2 && mySurface2 == S1 &&
myLocation == L2 && myLocation2 == L1));
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveOn2Surfaces::Surface()const
{
return mySurface;
}
//=======================================================================
//function : Surface2
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveOn2Surfaces::Surface2()const
{
return mySurface2;
}
//=======================================================================
//function : Location2
//purpose :
//=======================================================================
const TopLoc_Location& BRep_CurveOn2Surfaces::Location2()const
{
return myLocation2;
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
const GeomAbs_Shape& BRep_CurveOn2Surfaces::Continuity()const
{
return myContinuity;
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
void BRep_CurveOn2Surfaces::Continuity(const GeomAbs_Shape C)
{
myContinuity = C;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_CurveOn2Surfaces::Copy() const
{
Handle(BRep_CurveOn2Surfaces) C = new
BRep_CurveOn2Surfaces(Surface(),Surface2(),
Location(),Location2(),
myContinuity);
return C;
}

View File

@@ -0,0 +1,99 @@
-- File: BRep_CurveOnClosedSurface.cdl
-- Created: Tue Jul 6 10:16:47 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class CurveOnClosedSurface from BRep inherits CurveOnSurface from BRep
---Purpose: Representation of a curve by two pcurves on
-- a closed surface.
uses
Pnt2d from gp,
Box2d from Bnd,
Curve from Geom2d,
Surface from Geom,
Location from TopLoc,
Shape from GeomAbs,
CurveRepresentation from BRep
is
Create(PC1, PC2 : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc;
C : Shape from GeomAbs)
returns mutable CurveOnClosedSurface from BRep;
SetUVPoints2(me : mutable; P1, P2 : Pnt2d from gp)
---C++: inline
is static;
UVPoints2(me; P1, P2 : out Pnt2d from gp)
---C++: inline
is static;
IsCurveOnClosedSurface(me) returns Boolean
---Purpose: Returns True.
is redefined;
IsRegularity(me) returns Boolean
---Purpose: Returns True
is redefined;
IsRegularity(me; S1,S2 : Surface from Geom;
L1,L2 : Location from TopLoc)
returns Boolean
---Purpose: A curve on two surfaces (continuity).
is redefined;
PCurve2(me) returns any Curve from Geom2d
---C++: return const &
is redefined;
Surface2(me) returns any Surface from Geom
---Purpose: Returns Surface()
--
---C++: return const &
is redefined;
Location2(me) returns Location from TopLoc
---Purpose: Returns Location()
--
---C++: return const &
is redefined;
Continuity(me) returns Shape from GeomAbs
---C++: return const &
is redefined;
Continuity(me : mutable; C : Shape from GeomAbs)
is redefined;
PCurve2(me : mutable; C : Curve from Geom2d)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep
---Purpose: Return a copy of this representation.
is redefined;
Update(me : mutable)
---Purpose: Recomputes any derived data after a modification.
-- This is called when the range is modified.
is redefined;
fields
myPCurve2 : Curve from Geom2d;
myContinuity : Shape from GeomAbs;
myUV21 : Pnt2d from gp;
myUV22 : Pnt2d from gp;
end CurveOnClosedSurface;

View File

@@ -0,0 +1,167 @@
// File: BRep_CurveOnClosedSurface.cxx
// Created: Tue Jul 6 19:21:18 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_CurveOnClosedSurface.ixx>
#include <Precision.hxx>
//=======================================================================
//function : BRep_CurveOnClosedSurface
//purpose :
//=======================================================================
BRep_CurveOnClosedSurface::BRep_CurveOnClosedSurface
(const Handle(Geom2d_Curve)& PC1,
const Handle(Geom2d_Curve)& PC2,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L,
const GeomAbs_Shape C) :
BRep_CurveOnSurface(PC1,S,L),
myPCurve2(PC2),
myContinuity(C)
{
}
//=======================================================================
//function : IsCurveOnClosedSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOnClosedSurface::IsCurveOnClosedSurface()const
{
return Standard_True;
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOnClosedSurface::IsRegularity()const
{
return Standard_True;
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOnClosedSurface::IsRegularity
(const Handle(Geom_Surface)& S1,
const Handle(Geom_Surface)& S2,
const TopLoc_Location& L1,
const TopLoc_Location& L2)const
{
return ((Surface() == S1) &&
(Surface() == S2) &&
(Location() == L1) &&
(Location() == L2));
}
//=======================================================================
//function : PCurve2
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_CurveOnClosedSurface::PCurve2()const
{
return myPCurve2;
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
const GeomAbs_Shape& BRep_CurveOnClosedSurface::Continuity()const
{
return myContinuity;
}
//=======================================================================
//function : Surface2
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveOnClosedSurface::Surface2()const
{
return Surface();
}
//=======================================================================
//function : Location2
//purpose :
//=======================================================================
const TopLoc_Location& BRep_CurveOnClosedSurface::Location2()const
{
return Location();
}
//=======================================================================
//function : PCurve2
//purpose :
//=======================================================================
void BRep_CurveOnClosedSurface::PCurve2(const Handle(Geom2d_Curve)& C)
{
myPCurve2 = C;
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
void BRep_CurveOnClosedSurface::Continuity(const GeomAbs_Shape C)
{
myContinuity = C;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_CurveOnClosedSurface::Copy() const
{
Handle(BRep_CurveOnClosedSurface) C =
new BRep_CurveOnClosedSurface(PCurve(),PCurve2(),
Surface(),Location(),myContinuity);
C->SetRange(First(), Last());
C->SetUVPoints(myUV1,myUV2);
C->SetUVPoints2(myUV21,myUV22);
return C;
}
//=======================================================================
//function : Update
//purpose :
//=======================================================================
void BRep_CurveOnClosedSurface::Update()
{
if (!Precision::IsNegativeInfinite(First()))
myPCurve2->D0(First(),myUV21);
if (!Precision::IsPositiveInfinite(Last()))
myPCurve2->D0(Last(),myUV22);
BRep_CurveOnSurface::Update();
}

View File

@@ -0,0 +1,29 @@
// File: BRep_CurveOnClosedSurface.lxx
// Created: Thu Nov 18 12:20:00 1993
// Author: Remi LEQUETTE
// <rle@phylox>
//=======================================================================
//function : SetUVPoints2
//purpose :
//=======================================================================
inline void BRep_CurveOnClosedSurface::SetUVPoints2(const gp_Pnt2d& P1,
const gp_Pnt2d& P2)
{
myUV21 = P1;
myUV22 = P2;
}
//=======================================================================
//function : UVPoints2
//purpose :
//=======================================================================
inline void BRep_CurveOnClosedSurface::UVPoints2(gp_Pnt2d& P1,
gp_Pnt2d& P2)const
{
P1 = myUV21;
P2 = myUV22;
}

View File

@@ -0,0 +1,76 @@
-- File: BRep_CurveOnSurface.cdl
-- Created: Tue Jul 6 10:12:44 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class CurveOnSurface from BRep inherits GCurve from BRep
---Purpose: Representation of a curve by a curve in the
-- parametric space of a surface.
uses
Pnt from gp,
Pnt2d from gp,
Box2d from Bnd,
Curve from Geom2d,
Surface from Geom,
Location from TopLoc,
CurveRepresentation from BRep
is
Create(PC : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc)
returns mutable CurveOnSurface from BRep;
SetUVPoints(me : mutable; P1, P2 : Pnt2d from gp)
---C++: inline
is static;
UVPoints(me; P1, P2 : out Pnt2d from gp)
---C++: inline
is static;
D0(me; U : Real; P : out Pnt from gp);
---Purpose: Computes the point at parameter U.
IsCurveOnSurface(me) returns Boolean
---Purpose: Returns True.
is redefined;
IsCurveOnSurface(me; S : Surface from Geom; L : Location from TopLoc)
returns Boolean
---Purpose: A curve in the parametric space of a surface.
is redefined;
Surface(me) returns any Surface from Geom
---C++: return const &
is redefined;
PCurve(me) returns any Curve from Geom2d
---C++: return const &
is redefined;
PCurve(me : mutable; C : Curve from Geom2d)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep is virtual;
---Purpose: Return a copy of this representation.
Update(me : mutable)
---Purpose: Recomputes any derived data after a modification.
-- This is called when the range is modified.
is redefined;
fields
myPCurve : Curve from Geom2d;
mySurface : Surface from Geom;
myUV1 : Pnt2d from gp is protected;
myUV2 : Pnt2d from gp is protected;
end CurveOnSurface;

131
src/BRep/BRep_CurveOnSurface.cxx Executable file
View File

@@ -0,0 +1,131 @@
// File: BRep_CurveOnSurface.cxx
// Created: Tue Jul 6 18:24:27 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_CurveOnSurface.ixx>
#include <Precision.hxx>
//=======================================================================
//function : BRep_CurveOnSurface
//purpose :
//=======================================================================
BRep_CurveOnSurface::BRep_CurveOnSurface(const Handle(Geom2d_Curve)& PC,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L) :
BRep_GCurve(L,PC->FirstParameter(),PC->LastParameter()),
myPCurve(PC),
mySurface(S)
{
}
//=======================================================================
//function : D0
//purpose :
//=======================================================================
void BRep_CurveOnSurface::D0(const Standard_Real U, gp_Pnt& P) const
{
// shoud be D0 NYI
gp_Pnt2d P2d = myPCurve->Value(U);
P = mySurface->Value(P2d.X(),P2d.Y());
P.Transform(myLocation.Transformation());
}
//=======================================================================
//function : IsCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOnSurface::IsCurveOnSurface()const
{
return Standard_True;
}
//=======================================================================
//function : IsCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveOnSurface::IsCurveOnSurface
(const Handle(Geom_Surface)& S, const TopLoc_Location& L)const
{
return (S == mySurface) && (L == myLocation);
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveOnSurface::Surface()const
{
return mySurface;
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_CurveOnSurface::PCurve()const
{
return myPCurve;
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
void BRep_CurveOnSurface::PCurve(const Handle(Geom2d_Curve)& C)
{
myPCurve = C;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_CurveOnSurface::Copy() const
{
Handle(BRep_CurveOnSurface) C = new BRep_CurveOnSurface(myPCurve,
mySurface,
Location());
C->SetRange(First(),Last());
C->SetUVPoints(myUV1,myUV2);
return C;
}
//=======================================================================
//function : Update
//purpose :
//=======================================================================
void BRep_CurveOnSurface::Update()
{
Standard_Real f = First();
Standard_Real l = Last();
Standard_Boolean isneg = Precision::IsNegativeInfinite(f);
Standard_Boolean ispos = Precision::IsPositiveInfinite(l);
if (!isneg) {
myPCurve->D0(f,myUV1);
}
if (!ispos) {
myPCurve->D0(l,myUV2);
}
}

View File

@@ -0,0 +1,30 @@
// File: BRep_CurveOnSurface.lxx
// Created: Thu Nov 18 12:19:53 1993
// Author: Remi LEQUETTE
// <rle@phylox>
//=======================================================================
//function : SetUVPoints
//purpose :
//=======================================================================
inline void BRep_CurveOnSurface::SetUVPoints(const gp_Pnt2d& P1,
const gp_Pnt2d& P2)
{
myUV1 = P1;
myUV2 = P2;
}
//=======================================================================
//function : UVPoints
//purpose :
//=======================================================================
inline void BRep_CurveOnSurface::UVPoints(gp_Pnt2d& P1,
gp_Pnt2d& P2)const
{
P1 = myUV1;
P2 = myUV2;
}

View File

@@ -0,0 +1,287 @@
-- File: BRep_CurveRepresentation.cdl
-- Created: Mon Jul 5 19:27:07 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
deferred class CurveRepresentation from BRep inherits TShared from MMgt
---Purpose: Root class for the curve representations. Contains
-- a location.
uses
Pnt from gp,
Pnt2d from gp,
Shape from GeomAbs,
Curve from Geom2d,
Surface from Geom,
Curve from Geom,
Location from TopLoc,
Polygon3D from Poly,
Polygon2D from Poly,
Triangulation from Poly,
PolygonOnTriangulation from Poly
raises
DomainError from Standard
is
Initialize(L : Location from TopLoc);
-------------------------------------------------
-- What kind of representation
-------------------------------------------------
IsCurve3D(me) returns Boolean
---Purpose: A 3D curve representation.
is virtual;
IsCurveOnSurface(me) returns Boolean
---Purpose: A curve in the parametric space of a surface.
is virtual;
IsRegularity(me) returns Boolean
---Purpose: A continuity between two surfaces.
is virtual;
IsCurveOnClosedSurface(me) returns Boolean
---Purpose: A curve with two parametric curves on the same
-- surface.
is virtual;
IsCurveOnSurface(me; S : Surface from Geom;
L : Location from TopLoc) returns Boolean
---Purpose: Is it a curve in the parametric space of <S> with
-- location <L>.
is virtual;
IsRegularity(me; S1,S2 : Surface from Geom;
L1,L2 : Location from TopLoc) returns Boolean
---Purpose: Is it a regularity between <S1> and <S2> with
-- location <L1> and <L2>.
is virtual;
IsPolygon3D(me) returns Boolean
---Purpose: A 3D polygon representation.
is virtual;
IsPolygonOnTriangulation(me) returns Boolean
---Purpose: A representation by an array of nodes on a
-- triangulation.
is virtual;
IsPolygonOnTriangulation(me; T : Triangulation from Poly;
L : Location from TopLoc) returns Boolean
---Purpose: Is it a polygon in the definition of <T> with
-- location <L>.
is virtual;
IsPolygonOnClosedTriangulation(me) returns Boolean
---Purpose: A representation by two arrays of nodes on a
-- triangulation.
is virtual;
IsPolygonOnSurface(me) returns Boolean
---Purpose: A polygon in the parametric space of a surface.
is virtual;
IsPolygonOnSurface(me;S : Surface from Geom;
L : Location from TopLoc) returns Boolean
---Purpose: Is it a polygon in the parametric space of <S> with
-- location <L>.
is virtual;
IsPolygonOnClosedSurface(me) returns Boolean
---Purpose: Two 2D polygon representations in the parametric
-- space of a surface.
is virtual;
-------------------------------------------------
-- Location
-------------------------------------------------
Location(me) returns Location from TopLoc
---C++: return const &
---C++: inline
is static;
Location(me : mutable; L : Location from TopLoc)
---C++: inline
is static;
-------------------------------------------------
-- 3d curve
-------------------------------------------------
Curve3D(me) returns any Curve from Geom
---C++: return const &
raises
DomainError from Standard -- if !IsCurve3D
is virtual;
Curve3D(me : mutable; C : Curve from Geom)
raises
DomainError from Standard -- if !IsCurve3D
is virtual;
-------------------------------------------------
-- curve on surface
-------------------------------------------------
Surface(me) returns any Surface from Geom
---C++: return const &
raises
DomainError from Standard
is virtual;
PCurve(me) returns any Curve from Geom2d
---C++: return const &
raises
DomainError from Standard
is virtual;
PCurve(me : mutable; C : Curve from Geom2d)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- curve on closed surface
-------------------------------------------------
PCurve2(me) returns any Curve from Geom2d
---C++: return const &
raises
DomainError from Standard
is virtual;
PCurve2(me : mutable; C : Curve from Geom2d)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- polygon3d
-------------------------------------------------
Polygon3D(me) returns any Polygon3D from Poly
---C++: return const&
is virtual;
Polygon3D(me: mutable;P: Polygon3D from Poly)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- polygon on surface
-------------------------------------------------
Polygon(me) returns any Polygon2D from Poly
---C++: return const&
is virtual;
Polygon(me: mutable;P: Polygon2D from Poly)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- polygon on closed surface
-------------------------------------------------
Polygon2(me) returns any Polygon2D from Poly
---C++: return const&
is virtual;
Polygon2(me: mutable;P: Polygon2D from Poly)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- polygon on triangulation
-------------------------------------------------
Triangulation(me) returns any Triangulation from Poly
---C++: return const&
is virtual;
PolygonOnTriangulation(me) returns any PolygonOnTriangulation from Poly
---C++: return const&
raises
DomainError from Standard
is virtual;
PolygonOnTriangulation(me: mutable; P: PolygonOnTriangulation from Poly)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- polygon on closed triangulation
-------------------------------------------------
PolygonOnTriangulation2(me) returns any PolygonOnTriangulation from Poly
---C++: return const&
raises
DomainError from Standard
is virtual;
PolygonOnTriangulation2(me: mutable; P2: PolygonOnTriangulation from Poly)
raises
DomainError from Standard
is virtual;
-------------------------------------------------
-- continuity
-------------------------------------------------
Surface2(me) returns any Surface from Geom
---C++: return const &
raises
DomainError from Standard
is virtual;
Location2(me) returns Location from TopLoc
---C++: return const &
raises
DomainError from Standard
is virtual;
Continuity(me) returns Shape from GeomAbs
---C++: return const &
raises
DomainError from Standard
is virtual;
Continuity(me : mutable; C : Shape from GeomAbs)
raises
DomainError from Standard
is virtual;
Copy(me) returns mutable CurveRepresentation from BRep
---Purpose: Return a copy of this representation.
is deferred;
fields
myLocation : Location from TopLoc is protected;
end CurveRepresentation;

View File

@@ -0,0 +1,420 @@
// File: BRep_CurveRepresentation.cxx
// Created: Tue Jul 6 18:15:09 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_CurveRepresentation.ixx>
#include <TColStd_HArray1OfInteger.hxx>
//=======================================================================
//function : BRep_CurveRepresentation
//purpose :
//=======================================================================
BRep_CurveRepresentation::BRep_CurveRepresentation(const TopLoc_Location& L):
myLocation(L)
{
}
//=======================================================================
//function : IsCurve3D
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsCurve3D()const
{
return Standard_False;
}
//=======================================================================
//function : IsCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsCurveOnSurface()const
{
return Standard_False;
}
//=======================================================================
//function : IsCurveOnClosedSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsCurveOnClosedSurface()const
{
return Standard_False;
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsRegularity()const
{
return Standard_False;
}
//=======================================================================
//function : IsCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsCurveOnSurface
(const Handle(Geom_Surface)& , const TopLoc_Location& )const
{
return Standard_False;
}
//=======================================================================
//function : IsRegularity
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsRegularity
(const Handle(Geom_Surface)& ,
const Handle(Geom_Surface)& ,
const TopLoc_Location& ,
const TopLoc_Location& )const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygon3D
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygon3D() const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnTriangulation() const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnTriangulation
(const Handle_Poly_Triangulation&, const TopLoc_Location&) const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnClosedTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnClosedTriangulation() const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnClosedSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnClosedSurface() const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnSurface() const
{
return Standard_False;
}
//=======================================================================
//function : IsPolygonOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_CurveRepresentation::IsPolygonOnSurface
(const Handle_Geom_Surface&,
const TopLoc_Location&) const
{
return Standard_False;
}
//=======================================================================
//function : Curve3D
//purpose :
//=======================================================================
const Handle(Geom_Curve)& BRep_CurveRepresentation::Curve3D()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Geom_Curve)*) NULL);
}
//=======================================================================
//function : Curve3D
//purpose :
//=======================================================================
void BRep_CurveRepresentation::Curve3D(const Handle(Geom_Curve)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveRepresentation::Surface()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Geom_Surface)*) NULL);
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_CurveRepresentation::PCurve()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Geom2d_Curve)*) NULL);
}
//=======================================================================
//function : PCurve2
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_CurveRepresentation::PCurve2()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Geom2d_Curve)*) NULL);
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
void BRep_CurveRepresentation::PCurve(const Handle(Geom2d_Curve)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : PCurve2
//purpose :
//=======================================================================
void BRep_CurveRepresentation::PCurve2(const Handle(Geom2d_Curve)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
const GeomAbs_Shape& BRep_CurveRepresentation::Continuity()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((GeomAbs_Shape*) NULL);
}
//=======================================================================
//function : Continuity
//purpose :
//=======================================================================
void BRep_CurveRepresentation::Continuity(const GeomAbs_Shape )
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : Surface2
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_CurveRepresentation::Surface2()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Geom_Surface)*) NULL);
}
//=======================================================================
//function : Location2
//purpose :
//=======================================================================
const TopLoc_Location& BRep_CurveRepresentation::Location2()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((TopLoc_Location*) NULL);
}
//=======================================================================
//function : Polygon3D
//purpose :
//=======================================================================
const Handle(Poly_Polygon3D)& BRep_CurveRepresentation::Polygon3D()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Poly_Polygon3D)*) NULL);
}
//=======================================================================
//function : Polygon3D
//purpose :
//=======================================================================
void BRep_CurveRepresentation::Polygon3D(const Handle(Poly_Polygon3D)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : Polygon
//purpose :
//=======================================================================
const Handle(Poly_Polygon2D)& BRep_CurveRepresentation::Polygon()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Poly_Polygon2D)*) NULL);
}
//=======================================================================
//function : Polygon
//purpose :
//=======================================================================
void BRep_CurveRepresentation::Polygon(const Handle(Poly_Polygon2D)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : PolygonOnTriangulation2
//purpose :
//=======================================================================
const Handle(Poly_PolygonOnTriangulation)& BRep_CurveRepresentation::PolygonOnTriangulation2() const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Poly_PolygonOnTriangulation)*) NULL);
}
//=======================================================================
//function : PolygonOnTriangulation2
//purpose :
//=======================================================================
void BRep_CurveRepresentation::PolygonOnTriangulation2
(const Handle(Poly_PolygonOnTriangulation)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : PolygonOnTriangulation
//purpose :
//=======================================================================
void BRep_CurveRepresentation::PolygonOnTriangulation
(const Handle(Poly_PolygonOnTriangulation)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}
//=======================================================================
//function : PolygonOnTriangulation
//purpose :
//=======================================================================
const Handle(Poly_PolygonOnTriangulation)& BRep_CurveRepresentation::PolygonOnTriangulation()
const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *(Handle(Poly_PolygonOnTriangulation)*)NULL;
}
//=======================================================================
//function : Triangulation
//purpose :
//=======================================================================
const Handle(Poly_Triangulation)& BRep_CurveRepresentation::Triangulation()
const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *(Handle(Poly_Triangulation)*)NULL;
}
//=======================================================================
//function : Polygon2
//purpose :
//=======================================================================
const Handle(Poly_Polygon2D)& BRep_CurveRepresentation::Polygon2()const
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
return *((Handle(Poly_Polygon2D)*) NULL);
}
//=======================================================================
//function : Polygon2
//purpose :
//=======================================================================
void BRep_CurveRepresentation::Polygon2(const Handle(Poly_Polygon2D)&)
{
Standard_DomainError::Raise("BRep_CurveRepresentation");
}

View File

@@ -0,0 +1,26 @@
// File: BRep_CurveRepresentation.lxx
// Created: Fri Jul 9 14:24:02 1993
// Author: Remi LEQUETTE
// <rle@nonox>
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline const TopLoc_Location& BRep_CurveRepresentation::Location()const
{
return myLocation;
}
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline void BRep_CurveRepresentation::Location (const TopLoc_Location& L)
{
myLocation = L;
}

62
src/BRep/BRep_GCurve.cdl Executable file
View File

@@ -0,0 +1,62 @@
-- File: BRep_GCurve.cdl
-- Created: Thu Mar 9 15:21:03 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
deferred class GCurve from BRep inherits CurveRepresentation from BRep
---Purpose: Root class for the geometric curves
-- representation. Contains a range.
uses
Location from TopLoc,
Pnt from gp
is
Initialize(L : Location from TopLoc; First, Last : Real);
SetRange(me : mutable; First, Last : Real)
---C++: inline
is static;
Range(me; First, Last : out Real)
---C++: inline
is static;
First(me) returns Real
---C++: inline
is static;
Last(me) returns Real
---C++: inline
is static;
First(me : mutable; F : Real)
---C++: inline
is static;
Last(me : mutable; L : Real)
---C++: inline
is static;
D0(me; U : Real; P : out Pnt from gp)
---Purpose: Computes the point at parameter U.
is deferred;
Update(me : mutable)
---Purpose: Recomputes any derived data after a modification.
-- This is called when the range is modified.
is virtual;
fields
myFirst : Real;
myLast : Real;
end GCurve;

33
src/BRep/BRep_GCurve.cxx Executable file
View File

@@ -0,0 +1,33 @@
// File: BRep_GCurve.cxx
// Created: Wed Mar 15 13:43:10 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_GCurve.ixx>
//=======================================================================
//function : BRep_GCurve
//purpose :
//=======================================================================
BRep_GCurve::BRep_GCurve(const TopLoc_Location& L,
const Standard_Real First,
const Standard_Real Last):
BRep_CurveRepresentation(L),
myFirst(First),
myLast(Last)
{
}
//=======================================================================
//function : Update
//purpose :
//=======================================================================
void BRep_GCurve::Update()
{
}

75
src/BRep/BRep_GCurve.lxx Executable file
View File

@@ -0,0 +1,75 @@
// File: BRep_GCurve.lxx
// Created: Wed Mar 15 13:46:18 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
//=======================================================================
//function : SetRange
//purpose :
//=======================================================================
inline void BRep_GCurve::SetRange(const Standard_Real First,
const Standard_Real Last)
{
myFirst = First;
myLast = Last;
Update();
}
//=======================================================================
//function : Range
//purpose :
//=======================================================================
inline void BRep_GCurve::Range(Standard_Real& First,
Standard_Real& Last) const
{
First = myFirst;
Last = myLast;
}
//=======================================================================
//function : First
//purpose :
//=======================================================================
inline Standard_Real BRep_GCurve::First() const
{
return myFirst;
}
//=======================================================================
//function : Last
//purpose :
//=======================================================================
inline Standard_Real BRep_GCurve::Last() const
{
return myLast;
}
//=======================================================================
//function : First
//purpose :
//=======================================================================
inline void BRep_GCurve::First(const Standard_Real F)
{
myFirst = F;
Update();
}
//=======================================================================
//function : Last
//purpose :
//=======================================================================
inline void BRep_GCurve::Last(const Standard_Real L)
{
myLast = L;
Update();
}

46
src/BRep/BRep_PointOnCurve.cdl Executable file
View File

@@ -0,0 +1,46 @@
-- File: BRep_PointOnCurve.cdl
-- Created: Tue Aug 10 14:15:18 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class PointOnCurve from BRep inherits PointRepresentation from BRep
---Purpose:
uses
Curve from Geom,
Location from TopLoc
is
Create(P : Real;
C : Curve from Geom;
L : Location from TopLoc)
returns mutable PointOnCurve from BRep;
IsPointOnCurve(me) returns Boolean
---Purpose: Returns True
is redefined;
IsPointOnCurve(me; C : Curve from Geom;
L : Location from TopLoc) returns Boolean
is redefined;
Curve(me) returns any Curve from Geom
---C++: return const &
is redefined;
Curve(me : mutable; C : Curve from Geom)
is redefined;
fields
myCurve : Curve from Geom;
end PointOnCurve;

69
src/BRep/BRep_PointOnCurve.cxx Executable file
View File

@@ -0,0 +1,69 @@
// File: BRep_PointOnCurve.cxx
// Created: Tue Aug 10 14:44:47 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_PointOnCurve.ixx>
//=======================================================================
//function : BRep_PointOnCurve
//purpose :
//=======================================================================
BRep_PointOnCurve::BRep_PointOnCurve(const Standard_Real P,
const Handle(Geom_Curve)& C,
const TopLoc_Location& L) :
BRep_PointRepresentation(P,L),
myCurve(C)
{
}
//=======================================================================
//function : IsPointOnCurve
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnCurve::IsPointOnCurve()const
{
return Standard_True;
}
//=======================================================================
//function : IsPointOnCurve
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnCurve::IsPointOnCurve
(const Handle(Geom_Curve)& C,
const TopLoc_Location& L)const
{
return (myCurve == C) && (Location() == L);
}
//=======================================================================
//function : Curve
//purpose :
//=======================================================================
const Handle(Geom_Curve)& BRep_PointOnCurve::Curve()const
{
return myCurve;
}
//=======================================================================
//function : Curve
//purpose :
//=======================================================================
void BRep_PointOnCurve::Curve(const Handle(Geom_Curve)& C)
{
myCurve = C;
}

View File

@@ -0,0 +1,46 @@
-- File: BRep_PointOnCurveOnSurface.cdl
-- Created: Tue Aug 10 14:18:49 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class PointOnCurveOnSurface from BRep inherits PointsOnSurface from BRep
uses
Curve from Geom2d,
Surface from Geom,
Location from TopLoc
is
Create(P : Real;
C : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc)
returns mutable PointOnCurveOnSurface from BRep;
IsPointOnCurveOnSurface(me) returns Boolean
---Purpose: Returns True
is redefined;
IsPointOnCurveOnSurface(me; PC : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc)
returns Boolean
is redefined;
PCurve(me) returns any Curve from Geom2d
---C++: return const &
is redefined;
PCurve(me : mutable; C : Curve from Geom2d)
is redefined;
fields
myPCurve : Curve from Geom2d;
end PointOnCurveOnSurface;

View File

@@ -0,0 +1,72 @@
// File: BRep_PointOnCurveOnSurface.cxx
// Created: Tue Aug 10 14:44:59 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_PointOnCurveOnSurface.ixx>
//=======================================================================
//function : BRep_PointOnCurveOnSurface
//purpose :
//=======================================================================
BRep_PointOnCurveOnSurface::BRep_PointOnCurveOnSurface
(const Standard_Real P,
const Handle(Geom2d_Curve)& C,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L) :
BRep_PointsOnSurface(P,S,L),
myPCurve(C)
{
}
//=======================================================================
//function : IsPointOnCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnCurveOnSurface::IsPointOnCurveOnSurface()const
{
return Standard_True;
}
//=======================================================================
//function : IsPointOnCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnCurveOnSurface::IsPointOnCurveOnSurface
(const Handle(Geom2d_Curve)& PC,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L)const
{
return (myPCurve == PC) && (Surface() == S) && (Location() == L);
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_PointOnCurveOnSurface::PCurve()const
{
return myPCurve;
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
void BRep_PointOnCurveOnSurface::PCurve(const Handle(Geom2d_Curve)& C)
{
myPCurve = C;
}

View File

@@ -0,0 +1,40 @@
-- File: BRep_PointOnSurface.cdl
-- Created: Tue Aug 10 14:29:18 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class PointOnSurface from BRep inherits PointsOnSurface from BRep
uses
Surface from Geom,
Location from TopLoc
is
Create(P1,P2 : Real;
S : Surface from Geom;
L : Location from TopLoc)
returns mutable PointOnSurface from BRep;
IsPointOnSurface(me) returns Boolean
is redefined;
IsPointOnSurface(me; S : Surface from Geom;
L : Location from TopLoc) returns Boolean
is redefined;
Parameter2(me) returns Real
is redefined;
Parameter2(me : mutable; P : Real)
is redefined;
fields
myParameter2 : Real;
end PointOnSurface;

View File

@@ -0,0 +1,70 @@
// File: BRep_PointOnSurface.cxx
// Created: Tue Aug 10 14:45:11 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_PointOnSurface.ixx>
//=======================================================================
//function : BRep_PointOnSurface
//purpose :
//=======================================================================
BRep_PointOnSurface::BRep_PointOnSurface(const Standard_Real P1,
const Standard_Real P2,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L) :
BRep_PointsOnSurface(P1,S,L),
myParameter2(P2)
{
}
//=======================================================================
//function : IsPointOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnSurface::IsPointOnSurface()const
{
return Standard_True;
}
//=======================================================================
//function : IsPointOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointOnSurface::IsPointOnSurface
(const Handle(Geom_Surface)& S,
const TopLoc_Location& L)const
{
return (Surface() == S) && (Location() == L);
}
//=======================================================================
//function : Parameter2
//purpose :
//=======================================================================
Standard_Real BRep_PointOnSurface::Parameter2()const
{
return myParameter2;
}
//=======================================================================
//function : Parameter2
//purpose :
//=======================================================================
void BRep_PointOnSurface::Parameter2(const Standard_Real P)
{
myParameter2 = P;
}

View File

@@ -0,0 +1,147 @@
-- File: BRep_PointRepresentation.cdl
-- Created: Tue Aug 10 14:01:46 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
deferred class PointRepresentation from BRep inherits TShared from MMgt
---Purpose: Root class for the points representations.
-- Contains a location and a parameter.
uses
Curve from Geom2d,
Curve from Geom,
Surface from Geom,
Location from TopLoc
raises
DomainError from Standard
is
Initialize(P : Real;
L : Location from TopLoc);
-------------------------------------------------
-- What kind of representation
-------------------------------------------------
IsPointOnCurve(me) returns Boolean
---Purpose: A point on a 3d curve.
is virtual;
IsPointOnCurveOnSurface(me) returns Boolean
---Purpose: A point on a 2d curve on a surface.
is virtual;
IsPointOnSurface(me) returns Boolean
---Purpose: A point on a surface.
is virtual;
IsPointOnCurve(me; C : Curve from Geom;
L : Location from TopLoc) returns Boolean
---Purpose: A point on the curve <C>.
is virtual;
IsPointOnCurveOnSurface(me; PC : Curve from Geom2d;
S : Surface from Geom;
L : Location from TopLoc) returns Boolean
---Purpose: A point on the 2d curve <PC> on the surface <S>.
is virtual;
IsPointOnSurface(me; S : Surface from Geom;
L : Location from TopLoc) returns Boolean
---Purpose: A point on the surface <S>.
is virtual;
-------------------------------------------------
-- Location
-------------------------------------------------
Location(me) returns Location from TopLoc
---C++: return const &
---C++: inline
is static;
Location(me : mutable; L : Location from TopLoc)
---C++: inline
is static;
-------------------------------------------------
-- Parameters
-------------------------------------------------
Parameter(me) returns Real
---C++: inline
is static;
Parameter(me : mutable; P : Real)
---C++: inline
is static;
Parameter2(me) returns Real
raises
DomainError from Standard -- if !IsPointOnSurface
is virtual;
Parameter2(me : mutable; P : Real)
raises
DomainError from Standard -- if !IsPointOnSurface
is virtual;
-------------------------------------------------
-- 3d curve
-------------------------------------------------
Curve(me) returns any Curve from Geom
---C++: return const &
raises
DomainError from Standard -- if !IsPointOnCurve
is virtual;
Curve(me : mutable; C : Curve from Geom)
raises
DomainError from Standard -- if !IsPointOnCurve
is virtual;
-------------------------------------------------
-- curve on surface
-------------------------------------------------
PCurve(me) returns any Curve from Geom2d
---C++: return const &
raises
DomainError from Standard -- if !IsPointOnCurveOnSurface
is virtual;
PCurve(me : mutable; C : Curve from Geom2d)
raises
DomainError from Standard -- if !IsPointOnCurveOnSurface
is virtual;
-------------------------------------------------
-- surface
-------------------------------------------------
Surface(me) returns any Surface from Geom
---C++: return const &
raises
DomainError from Standard -- if IsPointOnCurve()
is virtual;
Surface(me : mutable; S : Surface from Geom)
raises
DomainError from Standard -- if IsPointOnCurve()
is virtual;
fields
myLocation : Location from TopLoc;
myParameter : Real;
end PointRepresentation;

View File

@@ -0,0 +1,186 @@
// File: BRep_PointRepresentation.cxx
// Created: Tue Aug 10 14:44:28 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_PointRepresentation.ixx>
//=======================================================================
//function : BRep_PointRepresentation
//purpose :
//=======================================================================
BRep_PointRepresentation::BRep_PointRepresentation(const Standard_Real P,
const TopLoc_Location& L) :
myLocation(L),
myParameter(P)
{
}
//=======================================================================
//function : IsPointOnCurve
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnCurve()const
{
return Standard_False;
}
//=======================================================================
//function : IsPointOnCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnCurveOnSurface()const
{
return Standard_False;
}
//=======================================================================
//function : IsPointOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnSurface()const
{
return Standard_False;
}
//=======================================================================
//function : IsPointOnCurve
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnCurve
(const Handle(Geom_Curve)& ,
const TopLoc_Location& )const
{
return Standard_False;
}
//=======================================================================
//function : IsPointOnCurveOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnCurveOnSurface
(const Handle(Geom2d_Curve)& ,
const Handle(Geom_Surface)& ,
const TopLoc_Location& )const
{
return Standard_False;
}
//=======================================================================
//function : IsPointOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PointRepresentation::IsPointOnSurface
(const Handle(Geom_Surface)& ,
const TopLoc_Location& )const
{
return Standard_False;
}
//=======================================================================
//function : Parameter2
//purpose :
//=======================================================================
Standard_Real BRep_PointRepresentation::Parameter2()const
{
Standard_DomainError::Raise("BRep_PointRepresentation");
return 0;
}
//=======================================================================
//function : Parameter2
//purpose :
//=======================================================================
void BRep_PointRepresentation::Parameter2(const Standard_Real )
{
Standard_DomainError::Raise("BRep_PointRepresentation");
}
//=======================================================================
//function : Curve
//purpose :
//=======================================================================
const Handle(Geom_Curve)& BRep_PointRepresentation::Curve()const
{
Standard_DomainError::Raise("BRep_PointRepresentation");
return *((Handle(Geom_Curve)*) NULL);
}
//=======================================================================
//function : Curve
//purpose :
//=======================================================================
void BRep_PointRepresentation::Curve(const Handle(Geom_Curve)& )
{
Standard_DomainError::Raise("BRep_PointRepresentation");
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
const Handle(Geom2d_Curve)& BRep_PointRepresentation::PCurve()const
{
Standard_DomainError::Raise("BRep_PointRepresentation");
return *((Handle(Geom2d_Curve)*) NULL);
}
//=======================================================================
//function : PCurve
//purpose :
//=======================================================================
void BRep_PointRepresentation::PCurve(const Handle(Geom2d_Curve)& )
{
Standard_DomainError::Raise("BRep_PointRepresentation");
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_PointRepresentation::Surface()const
{
Standard_DomainError::Raise("BRep_PointRepresentation");
return *((Handle(Geom_Surface)*) NULL);
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
void BRep_PointRepresentation::Surface(const Handle(Geom_Surface)& )
{
Standard_DomainError::Raise("BRep_PointRepresentation");
}

View File

@@ -0,0 +1,49 @@
// File: BRep_PointRepresentation.lxx
// Created: Tue Aug 10 14:53:17 1993
// Author: Remi LEQUETTE
// <rle@phylox>
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline const TopLoc_Location& BRep_PointRepresentation::Location()const
{
return myLocation;
}
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline void BRep_PointRepresentation::Location(const TopLoc_Location& L)
{
myLocation = L;
}
//=======================================================================
//function : Parameter
//purpose :
//=======================================================================
inline Standard_Real BRep_PointRepresentation::Parameter()const
{
return myParameter;
}
//=======================================================================
//function : Parameter
//purpose :
//=======================================================================
inline void BRep_PointRepresentation::Parameter(const Standard_Real P)
{
myParameter = P;
}

View File

@@ -0,0 +1,36 @@
-- File: BRep_PointsOnSurface.cdl
-- Created: Tue Aug 10 14:20:39 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
deferred class PointsOnSurface from BRep inherits PointRepresentation from BRep
---Purpose:
uses
Surface from Geom,
Location from TopLoc
is
Initialize (P : Real;
S : Surface from Geom;
L : Location from TopLoc);
Surface(me) returns any Surface from Geom
---C++: return const &
is redefined;
Surface(me : mutable; S : Surface from Geom)
is redefined;
fields
mySurface : Surface from Geom;
end PointsOnSurface;

View File

@@ -0,0 +1,45 @@
// File: BRep_PointsOnSurface.cxx
// Created: Tue Aug 10 14:44:35 1993
// Author: Remi LEQUETTE
// <rle@phylox>
#include <BRep_PointsOnSurface.ixx>
//=======================================================================
//function : BRep_PointsOnSurface
//purpose :
//=======================================================================
BRep_PointsOnSurface::BRep_PointsOnSurface(const Standard_Real P,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L) :
BRep_PointRepresentation(P,L),
mySurface(S)
{
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_PointsOnSurface::Surface()const
{
return mySurface;
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
void BRep_PointsOnSurface::Surface(const Handle(Geom_Surface)& S)
{
mySurface = S;
}

50
src/BRep/BRep_Polygon3D.cdl Executable file
View File

@@ -0,0 +1,50 @@
-- File: BRep_Polygon3D.cdl
-- Created: Thu Mar 9 15:41:43 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
class Polygon3D from BRep inherits CurveRepresentation from BRep
---Purpose:
uses
Polygon3D from Poly,
CurveRepresentation from BRep,
Location from TopLoc
raises DomainError from Standard
is
Create(P: Polygon3D from Poly;
L: Location from TopLoc)
---Purpose:
returns mutable Polygon3D from BRep;
IsPolygon3D(me) returns Boolean
---Purpose: Returns True.
is redefined;
Polygon3D(me) returns any Polygon3D from Poly
---C++: return const&
is redefined;
Polygon3D(me: mutable; P: Polygon3D from Poly)
raises
DomainError from Standard
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep;
---Purpose: Return a copy of this representation.
fields
myPolygon3D: Polygon3D from Poly;
end Polygon3D;

62
src/BRep/BRep_Polygon3D.cxx Executable file
View File

@@ -0,0 +1,62 @@
// File: BRep_Polygon3D.cxx
// Created: Wed Mar 15 13:41:41 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_Polygon3D.ixx>
//=======================================================================
//function : BRep_Polygon3D
//purpose :
//=======================================================================
BRep_Polygon3D::BRep_Polygon3D(const Handle(Poly_Polygon3D)& P,
const TopLoc_Location& L):
BRep_CurveRepresentation(L),
myPolygon3D(P)
{
}
//=======================================================================
//function : IsPolygon3D
//purpose :
//=======================================================================
Standard_Boolean BRep_Polygon3D::IsPolygon3D() const
{
return Standard_True;
}
//=======================================================================
//function : Polygon3D
//purpose :
//=======================================================================
const Handle(Poly_Polygon3D)& BRep_Polygon3D::Polygon3D() const
{
return myPolygon3D;
}
//=======================================================================
//function : Polygon3d
//purpose :
//=======================================================================
void BRep_Polygon3D::Polygon3D(const Handle(Poly_Polygon3D)& P)
{
myPolygon3D = P;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_Polygon3D::Copy() const
{
Handle(BRep_Polygon3D) P = new BRep_Polygon3D(myPolygon3D, Location());
return P;
}

View File

@@ -0,0 +1,51 @@
-- File: BRep_PolygonOnClosedSurface.cdl
-- Created: Wed Mar 15 15:09:44 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
class PolygonOnClosedSurface from BRep
inherits PolygonOnSurface from BRep
---Purpose: Representation by two 2d polygons in the parametric
-- space of a surface.
uses Polygon2D from Poly,
Surface from Geom,
CurveRepresentation from BRep,
Location from TopLoc
is
Create(P1: Polygon2D from Poly;
P2: Polygon2D from Poly;
S: Surface from Geom;
L: Location from TopLoc)
returns mutable PolygonOnClosedSurface from BRep;
IsPolygonOnClosedSurface(me) returns Boolean
---Purpose: returns True.
is redefined;
Polygon2(me) returns any Polygon2D from Poly
---C++: return const&
is redefined;
Polygon2(me: mutable; P: Polygon2D from Poly)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep
---Purpose: Return a copy of this representation.
is redefined;
fields
myPolygon2: Polygon2D from Poly;
end PolygonOnClosedSurface;

View File

@@ -0,0 +1,64 @@
// File: BRep_PolygonOnClosedSurface.cxx
// Created: Wed Mar 15 15:44:40 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_PolygonOnClosedSurface.ixx>
//=======================================================================
//function : BRep_PolygonOnClosedSurface
//purpose :
//=======================================================================
BRep_PolygonOnClosedSurface::BRep_PolygonOnClosedSurface(const Handle(Poly_Polygon2D)& P1,
const Handle(Poly_Polygon2D)& P2,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L):
BRep_PolygonOnSurface(P1, S, L),
myPolygon2(P2)
{
}
//=======================================================================
//function : IsPolygonOnClosedSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnClosedSurface::IsPolygonOnClosedSurface() const
{
return Standard_True;
}
//=======================================================================
//function : Polygon2
//purpose :
//=======================================================================
const Handle(Poly_Polygon2D)& BRep_PolygonOnClosedSurface::Polygon2() const
{
return myPolygon2;
}
//=======================================================================
//function : Polygon2
//purpose :
//=======================================================================
void BRep_PolygonOnClosedSurface::Polygon2(const Handle(Poly_Polygon2D)& P)
{
myPolygon2 = P;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_PolygonOnClosedSurface::Copy() const
{
Handle(BRep_PolygonOnClosedSurface) P =
new BRep_PolygonOnClosedSurface(Polygon(), myPolygon2, Surface(), Location());
return P;
}

View File

@@ -0,0 +1,56 @@
-- File: BRep_PolygonOnClosedTriangulation.cdl
-- Created: Wed Mar 15 09:54:13 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
class PolygonOnClosedTriangulation from BRep
inherits PolygonOnTriangulation from BRep
---Purpose: A representation by two arrays of nodes on a
-- triangulation.
uses HArray1OfInteger from TColStd,
Array1OfInteger from TColStd,
Location from TopLoc,
CurveRepresentation from BRep,
Triangulation from Poly,
PolygonOnTriangulation from Poly
is
Create(P1, P2 : PolygonOnTriangulation from Poly;
Tr: Triangulation from Poly;
L : Location from TopLoc)
returns mutable PolygonOnClosedTriangulation from BRep;
IsPolygonOnClosedTriangulation(me) returns Boolean
---Purpose: Returns True.
is redefined;
PolygonOnTriangulation2(me: mutable; P2: PolygonOnTriangulation from Poly)
is redefined;
PolygonOnTriangulation2(me) returns any PolygonOnTriangulation from Poly
---C++: return const&
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep is redefined;
---Purpose: Return a copy of this representation.
fields
myPolygon2: PolygonOnTriangulation from Poly;
end PolygonOnClosedTriangulation;

View File

@@ -0,0 +1,69 @@
// File: BRep_PolygonOnClosedTriangulation.cxx
// Created: Wed Mar 15 14:08:44 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_PolygonOnClosedTriangulation.ixx>
//=======================================================================
//function : BRep_PolygonOnClosedTriangulation
//purpose :
//=======================================================================
BRep_PolygonOnClosedTriangulation::BRep_PolygonOnClosedTriangulation
(const Handle(Poly_PolygonOnTriangulation)& P1,
const Handle(Poly_PolygonOnTriangulation)& P2,
const Handle(Poly_Triangulation)& T,
const TopLoc_Location& L):
BRep_PolygonOnTriangulation(P1, T, L),
myPolygon2(P2)
{
}
//=======================================================================
//function : IsPolygonOnclosedTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnClosedTriangulation::IsPolygonOnClosedTriangulation() const
{
return Standard_True;
}
//=======================================================================
//function : PolygonOnTriangulation2
//purpose :
//=======================================================================
void BRep_PolygonOnClosedTriangulation::PolygonOnTriangulation2
(const Handle(Poly_PolygonOnTriangulation)& P2)
{
myPolygon2 = P2;
}
//=======================================================================
//function : PolygonOnTriangulation2
//purpose :
//=======================================================================
const Handle(Poly_PolygonOnTriangulation)& BRep_PolygonOnClosedTriangulation::PolygonOnTriangulation2() const
{
return myPolygon2;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_PolygonOnClosedTriangulation::Copy() const
{
Handle(BRep_PolygonOnClosedTriangulation) P;
P = new BRep_PolygonOnClosedTriangulation(PolygonOnTriangulation(), myPolygon2,
Triangulation(), Location());
return P;
}

View File

@@ -0,0 +1,69 @@
-- File: BRep_PolygonOnSurface.cdl
-- Created: Tue Mar 14 18:30:24 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
class PolygonOnSurface from BRep inherits CurveRepresentation from BRep
---Purpose: Representation of a 2D polygon in the parametric
-- space of a surface.
uses
Polygon2D from Poly,
Surface from Geom,
CurveRepresentation from BRep,
Location from TopLoc
raises DomainError from Standard
is
Create(P: Polygon2D from Poly;
S: Surface from Geom;
L: Location from TopLoc)
returns mutable PolygonOnSurface from BRep;
IsPolygonOnSurface(me) returns Boolean
---Purpose: A 2D polygon representation in the parametric
-- space of a surface.
is redefined;
IsPolygonOnSurface(me; S: Surface from Geom; L: Location from TopLoc)
returns Boolean
---Purpose: A 2D polygon representation in the parametric
-- space of a surface.
is redefined;
Surface(me) returns any Surface from Geom
---C++: return const&
is redefined;
Polygon(me) returns any Polygon2D from Poly
---C++: return const &
is redefined;
Polygon(me: mutable; P: Polygon2D from Poly)
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep
---Purpose: Return a copy of this representation.
is redefined;
fields
myPolygon2D: Polygon2D from Poly;
mySurface : Surface from Geom;
end PolygonOnSurface;

View File

@@ -0,0 +1,88 @@
// File: BRep_PolygonOnSurface.cxx
// Created: Wed Mar 15 13:53:11 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_PolygonOnSurface.ixx>
//=======================================================================
//function : BRep_PolygonOnSurface
//purpose :
//=======================================================================
BRep_PolygonOnSurface::BRep_PolygonOnSurface(const Handle(Poly_Polygon2D)& P,
const Handle(Geom_Surface)& S,
const TopLoc_Location& L):
BRep_CurveRepresentation(L),
myPolygon2D(P),
mySurface(S)
{
}
//=======================================================================
//function : IsPolygonOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnSurface::IsPolygonOnSurface() const
{
return Standard_True;
}
//=======================================================================
//function : IsPolygonOnSurface
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnSurface::IsPolygonOnSurface(const Handle(Geom_Surface)& S,
const TopLoc_Location& L) const
{
return (S == mySurface) && (L == myLocation);
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
const Handle(Geom_Surface)& BRep_PolygonOnSurface::Surface() const
{
return mySurface;
}
//=======================================================================
//function : Polygon
//purpose :
//=======================================================================
const Handle(Poly_Polygon2D)& BRep_PolygonOnSurface::Polygon() const
{
return myPolygon2D;
}
//=======================================================================
//function : Polygon
//purpose :
//=======================================================================
void BRep_PolygonOnSurface::Polygon(const Handle(Poly_Polygon2D)& P)
{
myPolygon2D = P;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_PolygonOnSurface::Copy() const
{
Handle(BRep_PolygonOnSurface) P = new BRep_PolygonOnSurface(myPolygon2D,
mySurface,
Location());
return P;
}

View File

@@ -0,0 +1,60 @@
-- File: BRep_PolygonOnTriangulation.cdl
-- Created: Wed Mar 15 09:32:49 1995
-- Author: Laurent PAINNOT
-- <lpa@metrox>
---Copyright: Matra Datavision 1995
class PolygonOnTriangulation from BRep inherits CurveRepresentation from BRep
---Purpose: A representation by an array of nodes on a
-- triangulation.
uses Location from TopLoc,
PolygonOnTriangulation from Poly,
Triangulation from Poly
is
Create(P: PolygonOnTriangulation from Poly;
T: Triangulation from Poly;
L: Location from TopLoc)
returns mutable PolygonOnTriangulation from BRep;
IsPolygonOnTriangulation(me) returns Boolean
---Purpose: returns True.
is redefined;
IsPolygonOnTriangulation(me; T : Triangulation from Poly;
L : Location from TopLoc) returns Boolean
---Purpose: Is it a polygon in the definition of <T> with
-- location <L>.
is redefined;
PolygonOnTriangulation(me: mutable; P: PolygonOnTriangulation from Poly)
---Purpose: returns True.
is redefined;
Triangulation(me) returns any Triangulation from Poly
---C++: return const&
is redefined;
PolygonOnTriangulation(me) returns any PolygonOnTriangulation from Poly
---C++: return const&
is redefined;
Copy(me) returns mutable CurveRepresentation from BRep is virtual;
---Purpose: Return a copy of this representation.
fields
myPolygon : PolygonOnTriangulation from Poly;
myTriangulation : Triangulation from Poly;
end PolygonOnTriangulation;

View File

@@ -0,0 +1,91 @@
// File: BRep_PolygonOnTriangulation.cxx
// Created: Wed Mar 15 14:03:35 1995
// Author: Laurent PAINNOT
// <lpa@metrox>
#include <BRep_PolygonOnTriangulation.ixx>
//=======================================================================
//function : BRep_PolygonOnTriangulation
//purpose :
//=======================================================================
BRep_PolygonOnTriangulation::BRep_PolygonOnTriangulation
(const Handle(Poly_PolygonOnTriangulation)& P,
const Handle(Poly_Triangulation)& T,
const TopLoc_Location& L):
BRep_CurveRepresentation(L),
myPolygon(P),
myTriangulation(T)
{
}
//=======================================================================
//function : IsPolygonOnTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnTriangulation::IsPolygonOnTriangulation() const
{
return Standard_True;
}
//=======================================================================
//function : IsPolygonOnTriangulation
//purpose :
//=======================================================================
Standard_Boolean BRep_PolygonOnTriangulation::IsPolygonOnTriangulation
(const Handle(Poly_Triangulation)& T,
const TopLoc_Location& L) const
{
return (T == myTriangulation) && (L == myLocation);
}
//=======================================================================
//function : PolygonOnTriangulation
//purpose :
//=======================================================================
void BRep_PolygonOnTriangulation::PolygonOnTriangulation
(const Handle(Poly_PolygonOnTriangulation)& P)
{
myPolygon = P;
}
//=======================================================================
//function : PolygonOnTriangulation
//purpose :
//=======================================================================
const Handle(Poly_PolygonOnTriangulation)& BRep_PolygonOnTriangulation::PolygonOnTriangulation() const
{
return myPolygon;
}
//=======================================================================
//function : Triangulation
//purpose :
//=======================================================================
const Handle(Poly_Triangulation)& BRep_PolygonOnTriangulation::Triangulation() const
{
return myTriangulation;
}
//=======================================================================
//function : Copy
//purpose :
//=======================================================================
Handle(BRep_CurveRepresentation) BRep_PolygonOnTriangulation::Copy() const
{
Handle(BRep_PolygonOnTriangulation) P =
new BRep_PolygonOnTriangulation(myPolygon, myTriangulation, Location());
return P;
}

87
src/BRep/BRep_TEdge.cdl Executable file
View File

@@ -0,0 +1,87 @@
-- File: TEdge.cdl
-- Created: Wed May 27 15:20:30 1992
-- Author: Remi LEQUETTE
-- <rle@sdsun2>
---Copyright: Matra Datavision 1992
class TEdge from BRep inherits TEdge from TopoDS
---Purpose: The TEdge from BRep is inherited from the TEdge
-- from TopoDS. It contains the geometric data.
--
-- The TEdge contains :
--
-- * A tolerance.
--
-- * A same parameter flag.
--
-- * A same range flag.
--
-- * A Degenerated flag.
--
-- * A list of curve representation.
uses
TShape from TopoDS,
ListOfCurveRepresentation from BRep
is
Create returns mutable TEdge from BRep;
---Purpose: Creates an empty TEdge.
Tolerance(me) returns Real
---C++: inline
is static;
Tolerance(me : mutable; T : Real)
---C++: inline
is static;
UpdateTolerance(me : mutable; T : Real)
---Purpose: Sets the tolerance to the max of <T> and the
-- current tolerance.
--
---C++: inline
is static;
SameParameter(me) returns Boolean
is static;
SameParameter(me : mutable; S : Boolean)
is static;
SameRange(me) returns Boolean
is static;
SameRange(me : mutable; S : Boolean)
is static;
Degenerated(me) returns Boolean
is static;
Degenerated(me : mutable; S : Boolean)
is static;
Curves(me) returns ListOfCurveRepresentation from BRep
---C++: return const &
---C++: inline
is static;
ChangeCurves(me : mutable) returns ListOfCurveRepresentation from BRep
---C++: return &
---C++: inline
is static;
EmptyCopy(me) returns mutable TShape from TopoDS;
---Purpose: Returns a copy of the TShape with no sub-shapes.
fields
myTolerance : Real;
myFlags : Integer;
myCurves : ListOfCurveRepresentation from BRep;
end TEdge;

130
src/BRep/BRep_TEdge.cxx Executable file
View File

@@ -0,0 +1,130 @@
// File: BRep_TEdge.cxx
// Created: Tue Aug 25 15:37:58 1992
// Author: Modelistation
// <model@phylox>
#include <BRep_TEdge.ixx>
#include <TopAbs.hxx>
#include <BRep_CurveRepresentation.hxx>
#include <BRep_ListOfCurveRepresentation.hxx>
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
#include <BRep_GCurve.hxx>
#include <BRep_CurveOn2Surfaces.hxx>
static const Standard_Integer ParameterMask = 1;
static const Standard_Integer RangeMask = 2;
static const Standard_Integer DegeneratedMask = 4;
//=======================================================================
//function : BRep_TEdge
//purpose :
//=======================================================================
BRep_TEdge::BRep_TEdge() :
TopoDS_TEdge(),
myTolerance(RealEpsilon()),
myFlags(0)
{
SameParameter(Standard_True);
SameRange(Standard_True);
}
//=======================================================================
//function : SameParameter
//purpose :
//=======================================================================
Standard_Boolean BRep_TEdge::SameParameter()const
{
return myFlags & ParameterMask;
}
//=======================================================================
//function : SameParameter
//purpose :
//=======================================================================
void BRep_TEdge::SameParameter(const Standard_Boolean S)
{
if (S) myFlags |= ParameterMask;
else myFlags &= ~ParameterMask;
}
//=======================================================================
//function : SameRange
//purpose :
//=======================================================================
Standard_Boolean BRep_TEdge::SameRange()const
{
return myFlags & RangeMask;
}
//=======================================================================
//function : SameRange
//purpose :
//=======================================================================
void BRep_TEdge::SameRange(const Standard_Boolean S)
{
if (S) myFlags |= RangeMask;
else myFlags &= ~RangeMask;
}
//=======================================================================
//function : Degenerated
//purpose :
//=======================================================================
Standard_Boolean BRep_TEdge::Degenerated()const
{
return myFlags & DegeneratedMask;
}
//=======================================================================
//function : Degenerated
//purpose :
//=======================================================================
void BRep_TEdge::Degenerated(const Standard_Boolean S)
{
if (S) myFlags |= DegeneratedMask;
else myFlags &= ~DegeneratedMask;
}
//=======================================================================
//function : EmptyCopy
//purpose :
//=======================================================================
Handle(TopoDS_TShape) BRep_TEdge::EmptyCopy() const
{
Handle(BRep_TEdge) TE =
new BRep_TEdge();
TE->Tolerance(myTolerance);
// copy the curves representations
BRep_ListOfCurveRepresentation& l = TE->ChangeCurves();
BRep_ListIteratorOfListOfCurveRepresentation itr(myCurves);
while (itr.More()) {
// on ne recopie PAS les polygones
if ( itr.Value()->IsKind(STANDARD_TYPE(BRep_GCurve)) ||
itr.Value()->IsKind(STANDARD_TYPE(BRep_CurveOn2Surfaces)) ) {
l.Append(itr.Value()->Copy());
}
itr.Next();
}
TE->Degenerated(Degenerated());
TE->SameParameter(SameParameter());
TE->SameRange(SameRange());
return TE;
}

62
src/BRep/BRep_TEdge.lxx Executable file
View File

@@ -0,0 +1,62 @@
// File: BRep_TEdge.lxx
// Created: Tue Aug 25 15:44:14 1992
// Author: Modelistation
// <model@phylox>
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline Standard_Real BRep_TEdge::Tolerance()const
{
return myTolerance;
}
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline void BRep_TEdge::Tolerance(const Standard_Real T)
{
myTolerance = T;
}
//=======================================================================
//function : UpdateTolerance
//purpose :
//=======================================================================
inline void BRep_TEdge::UpdateTolerance(const Standard_Real T)
{
if (T > myTolerance) myTolerance = T;
}
//=======================================================================
//function : Curves
//purpose :
//=======================================================================
inline const BRep_ListOfCurveRepresentation& BRep_TEdge::Curves()const
{
return myCurves;
}
//=======================================================================
//function : ChangeCurves
//purpose :
//=======================================================================
inline BRep_ListOfCurveRepresentation& BRep_TEdge::ChangeCurves()
{
return myCurves;
}

93
src/BRep/BRep_TFace.cdl Executable file
View File

@@ -0,0 +1,93 @@
-- File: TFace.cdl
-- Created: Wed May 27 15:20:30 1992
-- Author: Remi LEQUETTE
-- <rle@sdsun2>
---Copyright: Matra Datavision 1992
class TFace from BRep inherits TFace from TopoDS
---Purpose: The Tface from BRep is based on the TFace from
-- TopoDS. The TFace contains :
--
-- * A suface, a tolerance and a Location.
--
-- * A NaturalRestriction flag, when this flag is
-- True the boundary of the face is known to be the
-- parametric space (Umin, UMax, VMin, VMax).
--
-- * An optional Triangulation. If there is a
-- triangulation the surface can be absent.
--
-- The Location is used for the Surface.
--
-- The triangulation is in the same reference system
-- than the TFace. A point on mySurface must be
-- transformed with myLocation, but not a point on
-- the triangulation.
--
-- The Surface may be shared by different TFaces but
-- not the Triangulation, because the Triangulation
-- may be modified by the edges.
--
uses
Surface from Geom,
Location from TopLoc,
TShape from TopoDS,
Triangulation from Poly
is
Create returns mutable TFace from BRep;
---Purpose: Creates an empty TFace.
Surface(me) returns any Surface from Geom;
---C++: inline
---C++: return const &
Triangulation(me) returns any Triangulation from Poly;
---C++: inline
---C++: return const &
Location(me) returns Location from TopLoc;
---C++: inline
---C++: return const &
Tolerance(me) returns Real;
---C++: inline
Surface(me : mutable; S : Surface from Geom);
---C++: inline
Triangulation(me : mutable; T : Triangulation from Poly);
---C++: inline
Location(me : mutable; L : Location from TopLoc);
---C++: inline
Tolerance(me : mutable; T : Real);
---C++: inline
NaturalRestriction(me) returns Boolean;
---C++: inline
NaturalRestriction(me : mutable; N : Boolean);
---C++: inline
EmptyCopy(me) returns mutable TShape from TopoDS
---Purpose: Returns a copy of the TShape with no sub-shapes.
-- The new Face has no triangulation.
is redefined;
fields
mySurface : Surface from Geom;
myTriangulation : Triangulation from Poly;
myLocation : Location from TopLoc;
myTolerance : Real;
myNaturalRestriction : Boolean;
end TFace;

35
src/BRep/BRep_TFace.cxx Executable file
View File

@@ -0,0 +1,35 @@
// File: BRep_TFace.cxx
// Created: Tue Aug 25 15:32:17 1992
// Author: Remi Lequette
// <rle@phylox>
#include <BRep_TFace.ixx>
#include <TopAbs.hxx>
//=======================================================================
//function : BRep_TFace
//purpose :
//=======================================================================
BRep_TFace::BRep_TFace() :
TopoDS_TFace(),
myTolerance(RealEpsilon()),
myNaturalRestriction(Standard_False)
{
}
//=======================================================================
//function : EmptyCopy
//purpose :
//=======================================================================
Handle(TopoDS_TShape) BRep_TFace::EmptyCopy() const
{
Handle(BRep_TFace) TF =
new BRep_TFace();
TF->Surface(mySurface);
TF->Location(myLocation);
TF->Tolerance(myTolerance);
return TF;
}

117
src/BRep/BRep_TFace.lxx Executable file
View File

@@ -0,0 +1,117 @@
// File: BRep_TFace.lxx
// Created: Tue Aug 25 15:35:52 1992
// Author: Modelistation
// <model@phylox>
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
inline const Handle(Geom_Surface)& BRep_TFace::Surface()const
{
return mySurface;
}
//=======================================================================
//function : Triangulation
//purpose :
//=======================================================================
inline const Handle(Poly_Triangulation)& BRep_TFace::Triangulation()const
{
return myTriangulation;
}
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline const TopLoc_Location& BRep_TFace::Location()const
{
return myLocation;
}
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline Standard_Real BRep_TFace::Tolerance()const
{
return myTolerance;
}
//=======================================================================
//function : Surface
//purpose :
//=======================================================================
inline void BRep_TFace::Surface(const Handle(Geom_Surface)& S)
{
mySurface = S;
}
//=======================================================================
//function : Triangulation
//purpose :
//=======================================================================
inline void BRep_TFace::Triangulation(const Handle(Poly_Triangulation)& T)
{
myTriangulation = T;
}
//=======================================================================
//function : Location
//purpose :
//=======================================================================
inline void BRep_TFace::Location(const TopLoc_Location& L)
{
myLocation = L;
}
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline void BRep_TFace::Tolerance(const Standard_Real T)
{
myTolerance = T;
}
//=======================================================================
//function : NaturalRestriction
//purpose :
//=======================================================================
inline Standard_Boolean BRep_TFace::NaturalRestriction()const
{
return myNaturalRestriction;
}
//=======================================================================
//function : NaturalRestriction
//purpose :
//=======================================================================
inline void BRep_TFace::NaturalRestriction(const Standard_Boolean N)
{
myNaturalRestriction = N;
}

68
src/BRep/BRep_TVertex.cdl Executable file
View File

@@ -0,0 +1,68 @@
-- File: TVertex.cdl
-- Created: Wed May 27 15:20:30 1992
-- Author: Remi LEQUETTE
-- <rle@sdsun2>
---Copyright: Matra Datavision 1992
class TVertex from BRep inherits TVertex from TopoDS
---Purpose: The TVertex from BRep inherits from the TVertex
-- from TopoDS. It contains the geometric data.
--
-- The TVertex contains a 3d point and a tolerance.
--
uses
Pnt from gp,
TShape from TopoDS,
ListOfPointRepresentation from BRep
is
Create returns mutable TVertex from BRep;
Tolerance(me) returns Real
---C++: inline
is static;
Tolerance(me : mutable; T : Real)
---C++: inline
is static;
UpdateTolerance(me : mutable; T : Real)
---Purpose: Sets the tolerance to the max of <T> and the
-- current tolerance.
--
---C++: inline
is static;
Pnt(me) returns Pnt from gp
---C++: inline
---C++: return const &
is static;
Pnt(me : mutable; P : Pnt from gp)
---C++: inline
is static;
Points(me) returns ListOfPointRepresentation from BRep
---C++: inline
---C++: return const &
is static;
ChangePoints(me : mutable) returns ListOfPointRepresentation from BRep
---C++: inline
---C++: return &
is static;
EmptyCopy(me) returns mutable TShape from TopoDS;
---Purpose: Returns a copy of the TShape with no sub-shapes.
fields
myPnt : Pnt from gp;
myTolerance : Real;
myPoints : ListOfPointRepresentation from BRep;
end TVertex;

34
src/BRep/BRep_TVertex.cxx Executable file
View File

@@ -0,0 +1,34 @@
// File: BRep_TVertex.cxx
// Created: Tue Aug 25 15:47:49 1992
// Author: Modelistation
// <model@phylox>
#include <BRep_TVertex.ixx>
#include <TopAbs.hxx>
//=======================================================================
//function : BRep_TVertex
//purpose :
//=======================================================================
BRep_TVertex::BRep_TVertex() :
TopoDS_TVertex(),
myTolerance(RealEpsilon())
{
}
//=======================================================================
//function : EmptyCopy
//purpose :
//=======================================================================
Handle(TopoDS_TShape) BRep_TVertex::EmptyCopy() const
{
Handle(BRep_TVertex) TV =
new BRep_TVertex();
TV->Pnt(myPnt);
TV->Tolerance(myTolerance);
return TV;
}

82
src/BRep/BRep_TVertex.lxx Executable file
View File

@@ -0,0 +1,82 @@
// File: BRep_TVertex.lxx
// Created: Tue Aug 25 15:51:44 1992
// Author: Modelistation
// <model@phylox>
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline Standard_Real BRep_TVertex::Tolerance()const
{
return myTolerance;
}
//=======================================================================
//function : Tolerance
//purpose :
//=======================================================================
inline void BRep_TVertex::Tolerance(const Standard_Real T)
{
myTolerance = T;
}
//=======================================================================
//function : UpdateTolerance
//purpose :
//=======================================================================
inline void BRep_TVertex::UpdateTolerance(const Standard_Real T)
{
if (T > myTolerance) myTolerance = T;
}
//=======================================================================
//function : Pnt
//purpose :
//=======================================================================
inline const gp_Pnt& BRep_TVertex::Pnt()const
{
return myPnt;
}
//=======================================================================
//function : Pnt
//purpose :
//=======================================================================
inline void BRep_TVertex::Pnt(const gp_Pnt& P)
{
myPnt = P;
}
//=======================================================================
//function : Points
//purpose :
//=======================================================================
inline const BRep_ListOfPointRepresentation& BRep_TVertex::Points()const
{
return myPoints;
}
//=======================================================================
//function : ChangePoints
//purpose :
//=======================================================================
inline BRep_ListOfPointRepresentation& BRep_TVertex::ChangePoints()
{
return myPoints;
}

594
src/BRep/BRep_Tool.cdl Executable file
View File

@@ -0,0 +1,594 @@
-- File: BRep_Tool.cdl
-- Created: Wed Jul 7 15:26:57 1993
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1993
class Tool from BRep
---Purpose: Provides class methods to access to the geometry
-- of BRep shapes.
uses
Vertex from TopoDS,
Edge from TopoDS,
Face from TopoDS,
Shape from TopoDS,
Location from TopLoc,
Pnt from gp,
Pnt2d from gp,
Box2d from Bnd,
Curve from Geom2d,
Curve from Geom,
Surface from Geom,
Shape from GeomAbs,
Triangulation from Poly,
Polygon3D from Poly,
Polygon2D from Poly,
PolygonOnTriangulation from Poly,
HArray1OfInteger from TColStd,
HArray1OfReal from TColStd
raises
NullObject from Standard,
NoSuchObject from Standard
is
-----------------------------------------------------------
-----------------------------------------------------------
-- Solid --
-----------------------------------------------------------
-----------------------------------------------------------
IsClosed (myclass; S : Shape from TopoDS) returns Boolean from Standard;
---Purpose: Returns <True> if S if flaged Closed, if S is a
-- Solid,Shell or Compound returns <True> is S has no free boundaries.
-----------------------------------------------------------
-----------------------------------------------------------
-- Face --
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
-- Face surface
-----------------------------------------------------------
Surface(myclass; F : Face from TopoDS;
L : out Location from TopLoc) returns Surface from Geom
---Purpose: Returns the geometric surface of the face. Returns
-- in <L> the location for the surface.
---C++: return const &
raises
NullObject from Standard;
Surface(myclass; F : Face from TopoDS) returns Surface from Geom
---Purpose: Returns the geometric surface of the face. It can
-- be a copy if there is a Location.
--
raises
NullObject from Standard;
Triangulation(myclass; F : Face from TopoDS;
L : out Location from TopLoc) returns Triangulation from Poly
---Purpose: Returns the Triangulation of the face. It is a
-- null handle if there is no triangulation.
--
---C++: return const &
raises
NullObject from Standard;
-----------------------------------------------------------
-- Face tolerance
-----------------------------------------------------------
Tolerance(myclass; F : Face from TopoDS) returns Real
---Purpose: Returns the tolerance of the face.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Face natural restriction flag
-----------------------------------------------------------
NaturalRestriction(myclass; F : Face from TopoDS) returns Boolean
---Purpose: Returns the NaturalRestriction flag of the face.
raises
NullObject from Standard;
-----------------------------------------------------------
-----------------------------------------------------------
-- Edge --
-----------------------------------------------------------
-----------------------------------------------------------
IsGeometric(myclass; E: Edge from TopoDS)
---Purpose: Returns True if <E> is a 3d curve or a curve on
-- surface.
returns Boolean;
-----------------------------------------------------------
-- Edge 3d curve
-----------------------------------------------------------
Curve(myclass; E : Edge from TopoDS;
L : out Location from TopLoc;
First, Last : out Real)
returns Curve from Geom
---Purpose: Returns the 3D curve of the edge. May be a Null
-- handle. Returns in <L> the location for the curve.
-- In <First> and <Last> the parameter range.
--
---C++: return const &
raises
NullObject from Standard;
Curve(myclass; E : Edge from TopoDS;
First, Last : out Real)
returns Curve from Geom
---Purpose: Returns the 3D curve of the edge. May be a Null handle.
-- In <First> and <Last> the parameter range.
-- It can be a copy if there is a Location.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge 3d polygon
-----------------------------------------------------------
Polygon3D(myclass; E : Edge from TopoDS;
L : out Location from TopLoc)
returns Polygon3D from Poly
---Purpose: Returns the 3D polygon of the edge. May be a Null
-- handle. Returns in <L> the location for the polygon.
--
---C++: return const &
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge curve on surface
-----------------------------------------------------------
CurveOnSurface(myclass; E : Edge from TopoDS;
F : Face from TopoDS;
First, Last : out Real)
returns Curve from Geom2d
---Purpose: Returns the curve associated to the edge in the
-- parametric space of the face. Returns a NULL
-- handle if this curve does not exist. Returns in
-- <First> and <Last> the parameter range.
raises
NullObject from Standard;
CurveOnSurface(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
First, Last : out Real)
returns Curve from Geom2d
---Purpose: Returns the curve associated to the edge in the
-- parametric space of the surface. Returns a NULL
-- handle if this curve does not exist. Returns in
-- <First> and <Last> the parameter range.
raises
NullObject from Standard;
CurveOnSurface(myclass; E : Edge from TopoDS;
C : out Curve from Geom2d;
S : out Surface from Geom;
L : out Location from TopLoc;
First, Last : out Real)
---Purpose: Returns in <C>, <S>, <L> a 2d curve, a surface and
-- a location for the edge <E>. <C> and <S> are null
-- if the edge has no curve on surface. Returns in
-- <First> and <Last> the parameter range.
raises
NullObject from Standard;
CurveOnSurface(myclass; E : Edge from TopoDS;
C : out Curve from Geom2d;
S : out Surface from Geom;
L : out Location from TopLoc;
First, Last : out Real;
Index : Integer)
---Purpose: Returns in <C>, <S>, <L> the 2d curve, the surface
-- and the location for the edge <E> of rank <Index>.
-- <C> and <S> are null if the index is out of range.
-- Returns in <First> and <Last> the parameter range.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge polygon on surface
-----------------------------------------------------------
PolygonOnSurface(myclass; E : Edge from TopoDS;
F : Face from TopoDS)
returns Polygon2D from Poly
---Purpose: Returns the polygon associated to the edge in the
-- parametric space of the face. Returns a NULL
-- handle if this polygon does not exist.
raises
NullObject from Standard;
PolygonOnSurface(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc)
returns Polygon2D from Poly
---Purpose: Returns the polygon associated to the edge in the
-- parametric space of the surface. Returns a NULL
-- handle if this polygon does not exist.
raises
NullObject from Standard;
PolygonOnSurface(myclass; E : Edge from TopoDS;
C : out Polygon2D from Poly;
S : out Surface from Geom;
L : out Location from TopLoc)
---Purpose: Returns in <C>, <S>, <L> a 2d curve, a surface and
-- a location for the edge <E>. <C> and <S> are null
-- if the edge has no polygon on surface.
raises
NullObject from Standard;
PolygonOnSurface(myclass; E : Edge from TopoDS;
C : out Polygon2D from Poly;
S : out Surface from Geom;
L : out Location from TopLoc;
Index : Integer)
---Purpose: Returns in <C>, <S>, <L> the 2d curve, the surface
-- and the location for the edge <E> of rank <Index>.
-- <C> and <S> are null if the index is out of range.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge polygon on triangulation
-----------------------------------------------------------
PolygonOnTriangulation(myclass; E : Edge from TopoDS;
T : Triangulation from Poly;
L : Location from TopLoc)
---C++: return const &
returns PolygonOnTriangulation from Poly;
--
---Purpose: Returns the polygon associated to the edge in the
-- parametric space of the face. Returns a NULL
-- handle if this polygon does not exist.
PolygonOnTriangulation(myclass; E : Edge from TopoDS;
P : out PolygonOnTriangulation from Poly;
T : out Triangulation from Poly;
L : out Location from TopLoc)
---Purpose: Returns in <P>, <T>, <L> a polygon on triangulation, a
-- triangulation and a location for the edge <E>.
-- <P> and <T> are null if the edge has no
-- polygon on triangulation.
raises
NullObject from Standard;
PolygonOnTriangulation(myclass; E : Edge from TopoDS;
P : out PolygonOnTriangulation from Poly;
T : out Triangulation from Poly;
L : out Location from TopLoc;
Index : Integer)
---Purpose: Returns in <P>, <T>, <L> a polygon on
-- triangulation, a triangulation and a location for
-- the edge <E> for the range index. <C> and <S> are
-- null if the edge has no polygon on triangulation.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge closed on surface
-----------------------------------------------------------
IsClosed(myclass; E : Edge from TopoDS;
F : Face from TopoDS)
returns Boolean
---Purpose: Returns True if <E> has two PCurves in the
-- parametric space of <F>. i.e. <F> is on a closed
-- surface and <E> is on the closing curve.
--
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge closed on surface
-----------------------------------------------------------
IsClosed(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc)
returns Boolean
---Purpose: Returns True if <E> has two PCurves in the
-- parametric space of <S>. i.e. <S> is a closed
-- surface and <E> is on the closing curve.
--
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge closed on triangulation
-----------------------------------------------------------
IsClosed(myclass; E : Edge from TopoDS;
T : Triangulation from Poly)
returns Boolean
---Purpose: Returns True if <E> has two arrays of indices in
-- the triangulation <T>.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge tolerance
-----------------------------------------------------------
Tolerance(myclass; E : Edge from TopoDS) returns Real
---Purpose: Returns the tolerance for <E>.
raises
NullObject from Standard;
-----------------------------------------------------------
-- Edge flags
-----------------------------------------------------------
SameParameter(myclass; E : Edge from TopoDS) returns Boolean
---Purpose: Returns the SameParameter flag for the edge.
raises
NullObject from Standard;
SameRange(myclass; E : Edge from TopoDS) returns Boolean
---Purpose: Returns the SameRange flag for the edge.
raises
NullObject from Standard;
Degenerated(myclass; E : Edge from TopoDS)
returns Boolean
---Purpose: Returns True if the edge is degenerated.
raises
NullObject from Standard;
-------------------------------------------------------
-- Edge parameter range
-------------------------------------------------------
Range(myclass; E : Edge from TopoDS;
First, Last : out Real)
---Purpose: Gets the range of the 3d curve.
raises
NullObject from Standard; -- If <E> is Null
Range(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
First, Last : out Real)
---Purpose: Gets the range of the edge on the pcurve on the
-- surface.
raises
NullObject from Standard; -- If <E> is Null
Range(myclass; E : Edge from TopoDS;
F : Face from TopoDS;
First, Last : out Real)
---Purpose: Gets the range of the edge on the pcurve on the face.
raises
NullObject from Standard; -- If <E> is Null
-------------------------------------------------------
-- Edge UV points
--
-- The data structures records a location in UV for the two
-- extremities of an edge.
--
-- By default these location are computed from the PCurve.
--
-- They can be updated to ensure their identity on connected edges.
-- (See the package BRepTools)
--
-------------------------------------------------------
UVPoints(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
PFirst, PLast : out Pnt2d from gp)
---Purpose: Gets the UV locations of the extremities of the edge.
raises
NullObject from Standard; -- If <E> is Null
UVPoints(myclass; E : Edge from TopoDS;
F : Face from TopoDS;
PFirst, PLast : out Pnt2d from gp)
---Purpose: Gets the UV locations of the extremities of the edge.
raises
NullObject from Standard; -- If <E> is Null
SetUVPoints(myclass; E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc;
PFirst, PLast : Pnt2d from gp)
---Purpose: Sets the UV locations of the extremities of the edge.
raises
NullObject from Standard; -- If <E> is Null
SetUVPoints(myclass; E : Edge from TopoDS;
F : Face from TopoDS;
PFirst, PLast : Pnt2d from gp)
---Purpose: Sets the UV locations of the extremities of the edge.
raises
NullObject from Standard; -- If <E> is Null
-----------------------------------------------------------
-- Edge continuity
-----------------------------------------------------------
HasContinuity(myclass; E : Edge from TopoDS;
F1, F2 : Face from TopoDS)
returns Boolean
---Purpose: Returns True if the edge is on the surfaces of the
-- two faces.
raises
NullObject from Standard; -- If the edge or the faces are null.
Continuity(myclass; E : Edge from TopoDS;
F1, F2 : Face from TopoDS)
returns Shape from GeomAbs
---Purpose: Returns the continuity.
raises
NullObject from Standard; -- If the edge or the faces are null.
HasContinuity(myclass; E : Edge from TopoDS;
S1, S2 : Surface from Geom;
L1, L2 : Location from TopLoc)
returns Boolean
---Purpose: Returns True if the edge is on the surfaces.
raises
NullObject from Standard; -- If the edge or the surfaces are null.
Continuity(myclass; E : Edge from TopoDS;
S1, S2 : Surface from Geom;
L1, L2 : Location from TopLoc)
returns Shape from GeomAbs
---Purpose: Returns the continuity.
raises
NullObject from Standard; -- If the edge or the faces are null.
-----------------------------------------------------------
-----------------------------------------------------------
-- Vertex --
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
-- Vertex point
-----------------------------------------------------------
Pnt(myclass; V : Vertex from TopoDS) returns Pnt from gp
---Purpose: Returns the 3d point.
raises
NullObject from Standard; -- if <V> is Null or has no geometry.
-----------------------------------------------------------
-- Vertex tolerance
-----------------------------------------------------------
Tolerance(myclass; V : Vertex from TopoDS) returns Real
---Purpose: Returns the tolerance.
raises
NullObject from Standard; -- if <V> is Null or has no geometry.
-----------------------------------------------------------
-- Vertex parameter on edge
-----------------------------------------------------------
Parameter(myclass; V : Vertex from TopoDS;
E : Edge from TopoDS)
returns Real
---Purpose: Returns the parameter of <V> on <E>.
raises
NullObject from Standard;
Parameter(myclass; V : Vertex from TopoDS;
E : Edge from TopoDS;
F : Face from TopoDS)
returns Real
---Purpose: Returns the parameters of the vertex on the
-- pcurve of the edge on the face.
raises
NullObject from Standard;
Parameter(myclass; V : Vertex from TopoDS;
E : Edge from TopoDS;
S : Surface from Geom;
L : Location from TopLoc)
returns Real
---Purpose: Returns the parameters of the vertex on the
-- pcurve of the edge on the surface.
raises
NullObject from Standard;
Parameters(myclass; V : Vertex from TopoDS;
F : Face from TopoDS)
returns Pnt2d from gp
---Purpose: Returns the parameters of the vertex on the face.
raises
NullObject from Standard;
end Tool;

1454
src/BRep/BRep_Tool.cxx Executable file

File diff suppressed because it is too large Load Diff