mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,135 +0,0 @@
|
||||
-- Created on: 1991-06-27
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1991-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
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;
|
||||
|
||||
--
|
||||
-- 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;
|
||||
|
||||
imported ListOfCurveRepresentation;
|
||||
|
||||
imported ListIteratorOfListOfCurveRepresentation;
|
||||
|
||||
deferred class GCurve;
|
||||
|
||||
class Curve3D;
|
||||
|
||||
class CurveOnSurface;
|
||||
|
||||
class CurveOnClosedSurface;
|
||||
|
||||
class Polygon3D;
|
||||
|
||||
class PolygonOnTriangulation;
|
||||
|
||||
class PolygonOnClosedTriangulation;
|
||||
|
||||
class PolygonOnSurface;
|
||||
|
||||
class PolygonOnClosedSurface;
|
||||
|
||||
class CurveOn2Surfaces;
|
||||
|
||||
class TEdge;
|
||||
|
||||
--
|
||||
-- Vertex
|
||||
--
|
||||
|
||||
deferred class PointRepresentation;
|
||||
|
||||
imported ListOfPointRepresentation;
|
||||
|
||||
imported ListIteratorOfListOfPointRepresentation;
|
||||
|
||||
class PointOnCurve;
|
||||
|
||||
deferred class PointsOnSurface;
|
||||
|
||||
class PointOnCurveOnSurface;
|
||||
|
||||
class PointOnSurface;
|
||||
|
||||
class TVertex;
|
||||
|
||||
class Builder;
|
||||
|
||||
class Tool;
|
||||
|
||||
|
||||
end BRep;
|
@@ -1,565 +0,0 @@
|
||||
-- Created on: 1991-07-01
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1991-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Builder from BRep inherits Builder from TopoDS
|
||||
|
||||
---Purpose: A framework providing advanced tolerance control.
|
||||
-- It is used to build Shapes.
|
||||
-- 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;
|
@@ -14,45 +14,52 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_Builder.ixx>
|
||||
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Curve3D.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_CurveOn2Surfaces.hxx>
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
#include <BRep_PointOnCurve.hxx>
|
||||
#include <BRep_PointOnCurveOnSurface.hxx>
|
||||
#include <BRep_PointOnSurface.hxx>
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
|
||||
#include <BRep_Polygon3D.hxx>
|
||||
#include <BRep_PolygonOnClosedSurface.hxx>
|
||||
#include <BRep_PolygonOnClosedTriangulation.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_NullObject.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_LockedShape.hxx>
|
||||
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <BRep_Polygon3D.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <BRep_PolygonOnClosedSurface.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <BRep_PolygonOnClosedTriangulation.hxx>
|
||||
|
||||
#include <Standard_NullObject.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Auxiliary methods
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
//=======================================================================
|
||||
//function : UpdateCurves
|
||||
//purpose : Insert a 3d curve <C> with location <L>
|
||||
// in a list of curve representations <lcr>
|
||||
//=======================================================================
|
||||
|
||||
static void UpdateCurves(BRep_ListOfCurveRepresentation& lcr,
|
||||
const Handle(Geom_Curve)& C,
|
||||
const TopLoc_Location& L)
|
||||
|
275
src/BRep/BRep_Builder.hxx
Normal file
275
src/BRep/BRep_Builder.hxx
Normal file
@@ -0,0 +1,275 @@
|
||||
// Created on: 1991-07-01
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_Builder_HeaderFile
|
||||
#define _BRep_Builder_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopoDS_Builder.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class Standard_NullObject;
|
||||
class Standard_DomainError;
|
||||
class TopoDS_Face;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class Poly_Triangulation;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class Poly_Polygon3D;
|
||||
class Poly_PolygonOnTriangulation;
|
||||
class Geom2d_Curve;
|
||||
class gp_Pnt2d;
|
||||
class Poly_Polygon2D;
|
||||
class TopoDS_Vertex;
|
||||
class gp_Pnt;
|
||||
|
||||
|
||||
//! A framework providing advanced tolerance control.
|
||||
//! It is used to build Shapes.
|
||||
//! 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
|
||||
class BRep_Builder : public TopoDS_Builder
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Makes an undefined Face.
|
||||
void MakeFace (TopoDS_Face& F) const;
|
||||
|
||||
//! Makes a Face with a surface.
|
||||
Standard_EXPORT void MakeFace (TopoDS_Face& F, const Handle(Geom_Surface)& S, const Standard_Real Tol) const;
|
||||
|
||||
//! Makes a Face with a surface and a location.
|
||||
Standard_EXPORT void MakeFace (TopoDS_Face& F, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! Makes a Face with a triangulation. The triangulation
|
||||
//! is in the same reference system than the TFace.
|
||||
Standard_EXPORT void MakeFace (TopoDS_Face& F, const Handle(Poly_Triangulation)& T) const;
|
||||
|
||||
//! Updates the face F using the tolerance value Tol,
|
||||
//! surface S and location Location.
|
||||
Standard_EXPORT void UpdateFace (const TopoDS_Face& F, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! Changes a face triangulation.
|
||||
//!
|
||||
//! A null Triangulation removes the triangulation.
|
||||
Standard_EXPORT void UpdateFace (const TopoDS_Face& F, const Handle(Poly_Triangulation)& T) const;
|
||||
|
||||
//! Updates the face Tolerance.
|
||||
Standard_EXPORT void UpdateFace (const TopoDS_Face& F, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the NaturalRestriction flag of the face.
|
||||
Standard_EXPORT void NaturalRestriction (const TopoDS_Face& F, const Standard_Boolean N) const;
|
||||
|
||||
//! Makes an undefined Edge (no geometry).
|
||||
Standard_EXPORT void MakeEdge (TopoDS_Edge& E) const;
|
||||
|
||||
//! Makes an Edge with a curve.
|
||||
void MakeEdge (TopoDS_Edge& E, const Handle(Geom_Curve)& C, const Standard_Real Tol) const;
|
||||
|
||||
//! Makes an Edge with a curve and a location.
|
||||
void MakeEdge (TopoDS_Edge& E, const Handle(Geom_Curve)& C, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! Makes an Edge with a polygon 3d.
|
||||
void MakeEdge (TopoDS_Edge& E, const Handle(Poly_Polygon3D)& P) const;
|
||||
|
||||
//! makes an Edge polygon on Triangulation.
|
||||
void MakeEdge (TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N, const Handle(Poly_Triangulation)& T) const;
|
||||
|
||||
//! makes an Edge polygon on Triangulation.
|
||||
void MakeEdge (TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L) const;
|
||||
|
||||
//! Sets a 3D curve for the edge.
|
||||
//! If <C> is a null handle, remove any existing 3d curve.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom_Curve)& C, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets a 3D curve for the edge.
|
||||
//! If <C> is a null handle, remove any existing 3d curve.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom_Curve)& C, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets a pcurve for the edge on the face.
|
||||
//! If <C> is a null handle, remove any existing pcurve.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C, const TopoDS_Face& F, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets pcurves for the edge on the closed face. If
|
||||
//! <C1> or <C2> is a null handle, remove any existing
|
||||
//! pcurve.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C1, const Handle(Geom2d_Curve)& C2, const TopoDS_Face& F, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets a pcurve for the edge on the face.
|
||||
//! If <C> is a null handle, remove any existing pcurve.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! 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
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol, const gp_Pnt2d& Pf, const gp_Pnt2d& Pl) const;
|
||||
|
||||
//! Sets pcurves for the edge on the closed surface.
|
||||
//! <C1> or <C2> is a null handle, remove any existing
|
||||
//! pcurve.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C1, const Handle(Geom2d_Curve)& C2, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! 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
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Geom2d_Curve)& C1, const Handle(Geom2d_Curve)& C2, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol, const gp_Pnt2d& Pf, const gp_Pnt2d& Pl) const;
|
||||
|
||||
//! Changes an Edge 3D polygon.
|
||||
//! A null Polygon removes the 3d Polygon.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon3D)& P) const;
|
||||
|
||||
//! Changes an Edge 3D polygon.
|
||||
//! A null Polygon removes the 3d Polygon.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon3D)& P, const TopLoc_Location& L) const;
|
||||
|
||||
//! Changes an Edge polygon on Triangulation.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N, const Handle(Poly_Triangulation)& T) const;
|
||||
|
||||
//! Changes an Edge polygon on Triangulation.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L) const;
|
||||
|
||||
//! Changes an Edge polygon on Triangulation.
|
||||
void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N1, const Handle(Poly_PolygonOnTriangulation)& N2, const Handle(Poly_Triangulation)& T) const;
|
||||
|
||||
//! Changes an Edge polygon on Triangulation.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_PolygonOnTriangulation)& N1, const Handle(Poly_PolygonOnTriangulation)& N2, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L) const;
|
||||
|
||||
//! Changes Edge polygon on a face.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon2D)& P, const TopoDS_Face& S) const;
|
||||
|
||||
//! Changes Edge polygon on a face.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon2D)& P, const Handle(Geom_Surface)& S, const TopLoc_Location& T) const;
|
||||
|
||||
//! Changes Edge polygons on a face.
|
||||
//!
|
||||
//! A null Polygon removes the 2d Polygon.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon2D)& P1, const Handle(Poly_Polygon2D)& P2, const TopoDS_Face& S) const;
|
||||
|
||||
//! Changes Edge polygons on a face.
|
||||
//!
|
||||
//! A null Polygon removes the 2d Polygon.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Handle(Poly_Polygon2D)& P1, const Handle(Poly_Polygon2D)& P2, const Handle(Geom_Surface)& S, const TopLoc_Location& L) const;
|
||||
|
||||
//! Updates the edge tolerance.
|
||||
Standard_EXPORT void UpdateEdge (const TopoDS_Edge& E, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the geometric continuity on the edge.
|
||||
Standard_EXPORT void Continuity (const TopoDS_Edge& E, const TopoDS_Face& F1, const TopoDS_Face& F2, const GeomAbs_Shape C) const;
|
||||
|
||||
//! Sets the geometric continuity on the edge.
|
||||
Standard_EXPORT void Continuity (const TopoDS_Edge& E, const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2, const GeomAbs_Shape C) const;
|
||||
|
||||
//! Sets the same parameter flag for the edge <E>.
|
||||
Standard_EXPORT void SameParameter (const TopoDS_Edge& E, const Standard_Boolean S) const;
|
||||
|
||||
//! Sets the same range flag for the edge <E>.
|
||||
Standard_EXPORT void SameRange (const TopoDS_Edge& E, const Standard_Boolean S) const;
|
||||
|
||||
//! Sets the degenerated flag for the edge <E>.
|
||||
Standard_EXPORT void Degenerated (const TopoDS_Edge& E, const Standard_Boolean D) const;
|
||||
|
||||
//! Sets the range of the 3d curve if Only3d=TRUE,
|
||||
//! otherwise sets the range to all the representations
|
||||
Standard_EXPORT void Range (const TopoDS_Edge& E, const Standard_Real First, const Standard_Real Last, const Standard_Boolean Only3d = Standard_False) const;
|
||||
|
||||
//! Sets the range of the edge on the pcurve on the
|
||||
//! surface.
|
||||
Standard_EXPORT void Range (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real First, const Standard_Real Last) const;
|
||||
|
||||
//! Sets the range of the edge on the pcurve on the face.
|
||||
void Range (const TopoDS_Edge& E, const TopoDS_Face& F, const Standard_Real First, const Standard_Real Last) const;
|
||||
|
||||
//! Add to <Eout> the geometric representations of
|
||||
//! <Ein>.
|
||||
Standard_EXPORT void Transfert (const TopoDS_Edge& Ein, const TopoDS_Edge& Eout) const;
|
||||
|
||||
//! Makes an udefined vertex without geometry.
|
||||
void MakeVertex (TopoDS_Vertex& V) const;
|
||||
|
||||
//! Makes a vertex from a 3D point.
|
||||
void MakeVertex (TopoDS_Vertex& V, const gp_Pnt& P, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets a 3D point on the vertex.
|
||||
Standard_EXPORT void UpdateVertex (const TopoDS_Vertex& V, const gp_Pnt& P, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the parameter for the vertex on the edge
|
||||
//! curves.
|
||||
Standard_EXPORT void UpdateVertex (const TopoDS_Vertex& V, const Standard_Real P, const TopoDS_Edge& E, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the parameter for the vertex on the edge
|
||||
//! pcurve on the face.
|
||||
void UpdateVertex (const TopoDS_Vertex& V, const Standard_Real P, const TopoDS_Edge& E, const TopoDS_Face& F, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the parameter for the vertex on the edge
|
||||
//! pcurve on the surface.
|
||||
Standard_EXPORT void UpdateVertex (const TopoDS_Vertex& V, const Standard_Real P, const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const Standard_Real Tol) const;
|
||||
|
||||
//! Sets the parameters for the vertex on the face.
|
||||
Standard_EXPORT void UpdateVertex (const TopoDS_Vertex& Ve, const Standard_Real U, const Standard_Real V, const TopoDS_Face& F, const Standard_Real Tol) const;
|
||||
|
||||
//! Updates the vertex tolerance.
|
||||
Standard_EXPORT void UpdateVertex (const TopoDS_Vertex& V, const Standard_Real Tol) const;
|
||||
|
||||
//! Transfert the parameters of Vin on Ein as the
|
||||
//! parameter of Vout on Eout.
|
||||
Standard_EXPORT void Transfert (const TopoDS_Edge& Ein, const TopoDS_Edge& Eout, const TopoDS_Vertex& Vin, const TopoDS_Vertex& Vout) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_Builder.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_Builder_HeaderFile
|
@@ -1,54 +0,0 @@
|
||||
-- Created on: 1993-07-06
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 CurveRepresentation from BRep;
|
||||
---Purpose: Return a copy of this representation.
|
||||
|
||||
fields
|
||||
|
||||
myCurve : Curve from Geom;
|
||||
|
||||
end Curve3D;
|
@@ -14,13 +14,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_Curve3D.ixx>
|
||||
|
||||
#include <BRep_Curve3D.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_Curve3D
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_Curve3D::BRep_Curve3D(const Handle(Geom_Curve)& C,
|
||||
const TopLoc_Location& L) :
|
||||
BRep_GCurve(L,
|
||||
|
81
src/BRep/BRep_Curve3D.hxx
Normal file
81
src/BRep/BRep_Curve3D.hxx
Normal file
@@ -0,0 +1,81 @@
|
||||
// Created on: 1993-07-06
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_Curve3D_HeaderFile
|
||||
#define _BRep_Curve3D_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom_Curve;
|
||||
class TopLoc_Location;
|
||||
class gp_Pnt;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_Curve3D;
|
||||
DEFINE_STANDARD_HANDLE(BRep_Curve3D, BRep_GCurve)
|
||||
|
||||
//! Representation of a curve by a 3D curve.
|
||||
class BRep_Curve3D : public BRep_GCurve
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_Curve3D(const Handle(Geom_Curve)& C, const TopLoc_Location& L);
|
||||
|
||||
//! Computes the point at parameter U.
|
||||
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt& P) const;
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurve3D() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Curve)& Curve3D() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Curve3D (const Handle(Geom_Curve)& C) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT Handle(BRep_CurveRepresentation) Copy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_Curve3D,BRep_GCurve)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom_Curve) myCurve;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_Curve3D_HeaderFile
|
@@ -1,79 +0,0 @@
|
||||
-- Created on: 1993-07-06
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 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;
|
@@ -14,14 +14,19 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_CurveOn2Surfaces.ixx>
|
||||
|
||||
#include <BRep_CurveOn2Surfaces.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_NullObject.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_CurveOn2Surfaces
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_CurveOn2Surfaces::BRep_CurveOn2Surfaces(const Handle(Geom_Surface)& S1,
|
||||
const Handle(Geom_Surface)& S2,
|
||||
const TopLoc_Location& L1,
|
||||
|
96
src/BRep/BRep_CurveOn2Surfaces.hxx
Normal file
96
src/BRep/BRep_CurveOn2Surfaces.hxx
Normal file
@@ -0,0 +1,96 @@
|
||||
// Created on: 1993-07-06
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_CurveOn2Surfaces_HeaderFile
|
||||
#define _BRep_CurveOn2Surfaces_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class Geom_Surface;
|
||||
class Standard_NullObject;
|
||||
class TopLoc_Location;
|
||||
class gp_Pnt;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_CurveOn2Surfaces;
|
||||
DEFINE_STANDARD_HANDLE(BRep_CurveOn2Surfaces, BRep_CurveRepresentation)
|
||||
|
||||
//! Defines a continuity between two surfaces.
|
||||
class BRep_CurveOn2Surfaces : public BRep_CurveRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_CurveOn2Surfaces(const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2, const GeomAbs_Shape C);
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity() const Standard_OVERRIDE;
|
||||
|
||||
//! A curve on two surfaces (continuity).
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity (const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2) const Standard_OVERRIDE;
|
||||
|
||||
//! Raises an error.
|
||||
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt& P) const;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface2() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const TopLoc_Location& Location2() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const GeomAbs_Shape& Continuity() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Continuity (const GeomAbs_Shape C) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT Handle(BRep_CurveRepresentation) Copy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_CurveOn2Surfaces,BRep_CurveRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom_Surface) mySurface;
|
||||
Handle(Geom_Surface) mySurface2;
|
||||
TopLoc_Location myLocation2;
|
||||
GeomAbs_Shape myContinuity;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_CurveOn2Surfaces_HeaderFile
|
@@ -1,108 +0,0 @@
|
||||
-- Created on: 1993-07-06
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -14,16 +14,20 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_CurveOnClosedSurface.ixx>
|
||||
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_CurveOnClosedSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_CurveOnClosedSurface::BRep_CurveOnClosedSurface
|
||||
(const Handle(Geom2d_Curve)& PC1,
|
||||
const Handle(Geom2d_Curve)& PC2,
|
||||
|
109
src/BRep/BRep_CurveOnClosedSurface.hxx
Normal file
109
src/BRep/BRep_CurveOnClosedSurface.hxx
Normal file
@@ -0,0 +1,109 @@
|
||||
// Created on: 1993-07-06
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_CurveOnClosedSurface_HeaderFile
|
||||
#define _BRep_CurveOnClosedSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom2d_Curve;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class gp_Pnt2d;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_CurveOnClosedSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_CurveOnClosedSurface, BRep_CurveOnSurface)
|
||||
|
||||
//! Representation of a curve by two pcurves on
|
||||
//! a closed surface.
|
||||
class BRep_CurveOnClosedSurface : public BRep_CurveOnSurface
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT 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);
|
||||
|
||||
void SetUVPoints2 (const gp_Pnt2d& P1, const gp_Pnt2d& P2);
|
||||
|
||||
void UVPoints2 (gp_Pnt2d& P1, gp_Pnt2d& P2) const;
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnClosedSurface() const Standard_OVERRIDE;
|
||||
|
||||
//! Returns True
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity() const Standard_OVERRIDE;
|
||||
|
||||
//! A curve on two surfaces (continuity).
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity (const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve2() const Standard_OVERRIDE;
|
||||
|
||||
//! Returns Surface()
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface2() const Standard_OVERRIDE;
|
||||
|
||||
//! Returns Location()
|
||||
Standard_EXPORT virtual const TopLoc_Location& Location2() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const GeomAbs_Shape& Continuity() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Continuity (const GeomAbs_Shape C) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PCurve2 (const Handle(Geom2d_Curve)& C) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const Standard_OVERRIDE;
|
||||
|
||||
//! Recomputes any derived data after a modification.
|
||||
//! This is called when the range is modified.
|
||||
Standard_EXPORT virtual void Update() Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_CurveOnClosedSurface,BRep_CurveOnSurface)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom2d_Curve) myPCurve2;
|
||||
GeomAbs_Shape myContinuity;
|
||||
gp_Pnt2d myUV21;
|
||||
gp_Pnt2d myUV22;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_CurveOnClosedSurface.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_CurveOnClosedSurface_HeaderFile
|
@@ -1,84 +0,0 @@
|
||||
-- Created on: 1993-07-06
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 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;
|
@@ -14,15 +14,21 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_CurveOnSurface.ixx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_CurveOnSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_CurveOnSurface::BRep_CurveOnSurface(const Handle(Geom2d_Curve)& PC,
|
||||
const Handle(Geom_Surface)& S,
|
||||
const TopLoc_Location& L) :
|
||||
|
102
src/BRep/BRep_CurveOnSurface.hxx
Normal file
102
src/BRep/BRep_CurveOnSurface.hxx
Normal file
@@ -0,0 +1,102 @@
|
||||
// Created on: 1993-07-06
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_CurveOnSurface_HeaderFile
|
||||
#define _BRep_CurveOnSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom2d_Curve;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class gp_Pnt2d;
|
||||
class gp_Pnt;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_CurveOnSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_CurveOnSurface, BRep_GCurve)
|
||||
|
||||
//! Representation of a curve by a curve in the
|
||||
//! parametric space of a surface.
|
||||
class BRep_CurveOnSurface : public BRep_GCurve
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_CurveOnSurface(const Handle(Geom2d_Curve)& PC, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
void SetUVPoints (const gp_Pnt2d& P1, const gp_Pnt2d& P2);
|
||||
|
||||
void UVPoints (gp_Pnt2d& P1, gp_Pnt2d& P2) const;
|
||||
|
||||
//! Computes the point at parameter U.
|
||||
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt& P) const;
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface() const Standard_OVERRIDE;
|
||||
|
||||
//! A curve in the parametric space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PCurve (const Handle(Geom2d_Curve)& C) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const;
|
||||
|
||||
//! Recomputes any derived data after a modification.
|
||||
//! This is called when the range is modified.
|
||||
Standard_EXPORT virtual void Update() Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_CurveOnSurface,BRep_GCurve)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
gp_Pnt2d myUV1;
|
||||
gp_Pnt2d myUV2;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom2d_Curve) myPCurve;
|
||||
Handle(Geom_Surface) mySurface;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_CurveOnSurface.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_CurveOnSurface_HeaderFile
|
@@ -1,295 +0,0 @@
|
||||
-- Created on: 1993-07-05
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
deferred class 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 CurveRepresentation from BRep
|
||||
---Purpose: Return a copy of this representation.
|
||||
is deferred;
|
||||
|
||||
fields
|
||||
|
||||
myLocation : Location from TopLoc is protected;
|
||||
|
||||
end CurveRepresentation;
|
@@ -14,15 +14,24 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_CurveRepresentation.ixx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_CurveRepresentation
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_CurveRepresentation::BRep_CurveRepresentation(const TopLoc_Location& L):
|
||||
myLocation(L)
|
||||
{
|
||||
|
174
src/BRep/BRep_CurveRepresentation.hxx
Normal file
174
src/BRep/BRep_CurveRepresentation.hxx
Normal file
@@ -0,0 +1,174 @@
|
||||
// Created on: 1993-07-05
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_CurveRepresentation_HeaderFile
|
||||
#define _BRep_CurveRepresentation_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class Standard_DomainError;
|
||||
class TopLoc_Location;
|
||||
class Geom_Surface;
|
||||
class Poly_Triangulation;
|
||||
class Geom_Curve;
|
||||
class Geom2d_Curve;
|
||||
class Poly_Polygon3D;
|
||||
class Poly_Polygon2D;
|
||||
class Poly_PolygonOnTriangulation;
|
||||
|
||||
|
||||
class BRep_CurveRepresentation;
|
||||
DEFINE_STANDARD_HANDLE(BRep_CurveRepresentation, MMgt_TShared)
|
||||
|
||||
//! Root class for the curve representations. Contains
|
||||
//! a location.
|
||||
class BRep_CurveRepresentation : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! A 3D curve representation.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurve3D() const;
|
||||
|
||||
//! A curve in the parametric space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface() const;
|
||||
|
||||
//! A continuity between two surfaces.
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity() const;
|
||||
|
||||
//! A curve with two parametric curves on the same
|
||||
//! surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnClosedSurface() const;
|
||||
|
||||
//! Is it a curve in the parametric space of <S> with
|
||||
//! location <L>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsCurveOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const;
|
||||
|
||||
//! Is it a regularity between <S1> and <S2> with
|
||||
//! location <L1> and <L2>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsRegularity (const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2) const;
|
||||
|
||||
//! A 3D polygon representation.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygon3D() const;
|
||||
|
||||
//! A representation by an array of nodes on a
|
||||
//! triangulation.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnTriangulation() const;
|
||||
|
||||
//! Is it a polygon in the definition of <T> with
|
||||
//! location <L>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnTriangulation (const Handle(Poly_Triangulation)& T, const TopLoc_Location& L) const;
|
||||
|
||||
//! A representation by two arrays of nodes on a
|
||||
//! triangulation.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnClosedTriangulation() const;
|
||||
|
||||
//! A polygon in the parametric space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnSurface() const;
|
||||
|
||||
//! Is it a polygon in the parametric space of <S> with
|
||||
//! location <L>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const;
|
||||
|
||||
//! Two 2D polygon representations in the parametric
|
||||
//! space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnClosedSurface() const;
|
||||
|
||||
const TopLoc_Location& Location() const;
|
||||
|
||||
void Location (const TopLoc_Location& L);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Curve)& Curve3D() const;
|
||||
|
||||
Standard_EXPORT virtual void Curve3D (const Handle(Geom_Curve)& C);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve() const;
|
||||
|
||||
Standard_EXPORT virtual void PCurve (const Handle(Geom2d_Curve)& C);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve2() const;
|
||||
|
||||
Standard_EXPORT virtual void PCurve2 (const Handle(Geom2d_Curve)& C);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon3D)& Polygon3D() const;
|
||||
|
||||
Standard_EXPORT virtual void Polygon3D (const Handle(Poly_Polygon3D)& P);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon2D)& Polygon() const;
|
||||
|
||||
Standard_EXPORT virtual void Polygon (const Handle(Poly_Polygon2D)& P);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon2D)& Polygon2() const;
|
||||
|
||||
Standard_EXPORT virtual void Polygon2 (const Handle(Poly_Polygon2D)& P);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Triangulation)& Triangulation() const;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_PolygonOnTriangulation)& PolygonOnTriangulation() const;
|
||||
|
||||
Standard_EXPORT virtual void PolygonOnTriangulation (const Handle(Poly_PolygonOnTriangulation)& P);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_PolygonOnTriangulation)& PolygonOnTriangulation2() const;
|
||||
|
||||
Standard_EXPORT virtual void PolygonOnTriangulation2 (const Handle(Poly_PolygonOnTriangulation)& P2);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface2() const;
|
||||
|
||||
Standard_EXPORT virtual const TopLoc_Location& Location2() const;
|
||||
|
||||
Standard_EXPORT virtual const GeomAbs_Shape& Continuity() const;
|
||||
|
||||
Standard_EXPORT virtual void Continuity (const GeomAbs_Shape C);
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_CurveRepresentation,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_CurveRepresentation(const TopLoc_Location& L);
|
||||
|
||||
TopLoc_Location myLocation;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_CurveRepresentation.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_CurveRepresentation_HeaderFile
|
@@ -1,70 +0,0 @@
|
||||
-- Created on: 1995-03-09
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
deferred class GCurve from BRep inherits CurveRepresentation from BRep
|
||||
|
||||
---Purpose: Root class for the geometric curves
|
||||
-- representation. Contains a range.
|
||||
-- Contains a first and a last parameter.
|
||||
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;
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_GCurve.ixx>
|
||||
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_GCurve
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_GCurve::BRep_GCurve(const TopLoc_Location& L,
|
||||
const Standard_Real First,
|
||||
const Standard_Real Last):
|
||||
|
88
src/BRep/BRep_GCurve.hxx
Normal file
88
src/BRep/BRep_GCurve.hxx
Normal file
@@ -0,0 +1,88 @@
|
||||
// Created on: 1995-03-09
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_GCurve_HeaderFile
|
||||
#define _BRep_GCurve_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
class TopLoc_Location;
|
||||
class gp_Pnt;
|
||||
|
||||
|
||||
class BRep_GCurve;
|
||||
DEFINE_STANDARD_HANDLE(BRep_GCurve, BRep_CurveRepresentation)
|
||||
|
||||
//! Root class for the geometric curves
|
||||
//! representation. Contains a range.
|
||||
//! Contains a first and a last parameter.
|
||||
class BRep_GCurve : public BRep_CurveRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
void SetRange (const Standard_Real First, const Standard_Real Last);
|
||||
|
||||
void Range (Standard_Real& First, Standard_Real& Last) const;
|
||||
|
||||
Standard_Real First() const;
|
||||
|
||||
Standard_Real Last() const;
|
||||
|
||||
void First (const Standard_Real F);
|
||||
|
||||
void Last (const Standard_Real L);
|
||||
|
||||
//! Computes the point at parameter U.
|
||||
Standard_EXPORT virtual void D0 (const Standard_Real U, gp_Pnt& P) const = 0;
|
||||
|
||||
//! Recomputes any derived data after a modification.
|
||||
//! This is called when the range is modified.
|
||||
Standard_EXPORT virtual void Update();
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_GCurve,BRep_CurveRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_GCurve(const TopLoc_Location& L, const Standard_Real First, const Standard_Real Last);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Real myFirst;
|
||||
Standard_Real myLast;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_GCurve.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_GCurve_HeaderFile
|
@@ -1,54 +0,0 @@
|
||||
-- Created on: 1993-08-10
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class PointOnCurve from BRep inherits PointRepresentation from BRep
|
||||
|
||||
---Purpose: Representation by a parameter on a 3D curve.
|
||||
|
||||
uses
|
||||
Curve from Geom,
|
||||
Location from TopLoc
|
||||
|
||||
is
|
||||
|
||||
Create(P : Real;
|
||||
C : Curve from Geom;
|
||||
L : Location from TopLoc)
|
||||
returns 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;
|
@@ -14,14 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PointOnCurve.ixx>
|
||||
|
||||
#include <BRep_PointOnCurve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PointOnCurve
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PointOnCurve::BRep_PointOnCurve(const Standard_Real P,
|
||||
const Handle(Geom_Curve)& C,
|
||||
const TopLoc_Location& L) :
|
||||
|
75
src/BRep/BRep_PointOnCurve.hxx
Normal file
75
src/BRep/BRep_PointOnCurve.hxx
Normal file
@@ -0,0 +1,75 @@
|
||||
// Created on: 1993-08-10
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PointOnCurve_HeaderFile
|
||||
#define _BRep_PointOnCurve_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_PointRepresentation.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom_Curve;
|
||||
class TopLoc_Location;
|
||||
|
||||
|
||||
class BRep_PointOnCurve;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PointOnCurve, BRep_PointRepresentation)
|
||||
|
||||
//! Representation by a parameter on a 3D curve.
|
||||
class BRep_PointOnCurve : public BRep_PointRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PointOnCurve(const Standard_Real P, const Handle(Geom_Curve)& C, const TopLoc_Location& L);
|
||||
|
||||
//! Returns True
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurve() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurve (const Handle(Geom_Curve)& C, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Curve)& Curve() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Curve (const Handle(Geom_Curve)& C) Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PointOnCurve,BRep_PointRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom_Curve) myCurve;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PointOnCurve_HeaderFile
|
@@ -1,57 +0,0 @@
|
||||
-- Created on: 1993-08-10
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class PointOnCurveOnSurface from BRep inherits PointsOnSurface from BRep
|
||||
---Purpose: Representation by a parameter on a curve on a
|
||||
-- surface.
|
||||
|
||||
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 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;
|
@@ -14,14 +14,17 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PointOnCurveOnSurface.ixx>
|
||||
|
||||
#include <BRep_PointOnCurveOnSurface.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PointOnCurveOnSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PointOnCurveOnSurface::BRep_PointOnCurveOnSurface
|
||||
(const Standard_Real P,
|
||||
const Handle(Geom2d_Curve)& C,
|
||||
|
77
src/BRep/BRep_PointOnCurveOnSurface.hxx
Normal file
77
src/BRep/BRep_PointOnCurveOnSurface.hxx
Normal file
@@ -0,0 +1,77 @@
|
||||
// Created on: 1993-08-10
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PointOnCurveOnSurface_HeaderFile
|
||||
#define _BRep_PointOnCurveOnSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_PointsOnSurface.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom2d_Curve;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
|
||||
|
||||
class BRep_PointOnCurveOnSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PointOnCurveOnSurface, BRep_PointsOnSurface)
|
||||
|
||||
//! Representation by a parameter on a curve on a
|
||||
//! surface.
|
||||
class BRep_PointOnCurveOnSurface : public BRep_PointsOnSurface
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PointOnCurveOnSurface(const Standard_Real P, const Handle(Geom2d_Curve)& C, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! Returns True
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurveOnSurface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurveOnSurface (const Handle(Geom2d_Curve)& PC, const Handle(Geom_Surface)& S, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PCurve (const Handle(Geom2d_Curve)& C) Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PointOnCurveOnSurface,BRep_PointsOnSurface)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom2d_Curve) myPCurve;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PointOnCurveOnSurface_HeaderFile
|
@@ -1,49 +0,0 @@
|
||||
-- Created on: 1993-08-10
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class PointOnSurface from BRep inherits PointsOnSurface from BRep
|
||||
---Purpose: Representation by two parameters on a surface.
|
||||
|
||||
uses
|
||||
Surface from Geom,
|
||||
Location from TopLoc
|
||||
|
||||
is
|
||||
Create(P1,P2 : Real;
|
||||
S : Surface from Geom;
|
||||
L : Location from TopLoc)
|
||||
returns 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;
|
@@ -14,14 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PointOnSurface.ixx>
|
||||
|
||||
#include <BRep_PointOnSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PointOnSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PointOnSurface::BRep_PointOnSurface(const Standard_Real P1,
|
||||
const Standard_Real P2,
|
||||
const Handle(Geom_Surface)& S,
|
||||
|
74
src/BRep/BRep_PointOnSurface.hxx
Normal file
74
src/BRep/BRep_PointOnSurface.hxx
Normal file
@@ -0,0 +1,74 @@
|
||||
// Created on: 1993-08-10
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PointOnSurface_HeaderFile
|
||||
#define _BRep_PointOnSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRep_PointsOnSurface.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
|
||||
|
||||
class BRep_PointOnSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PointOnSurface, BRep_PointsOnSurface)
|
||||
|
||||
//! Representation by two parameters on a surface.
|
||||
class BRep_PointOnSurface : public BRep_PointsOnSurface
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PointOnSurface(const Standard_Real P1, const Standard_Real P2, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnSurface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual Standard_Real Parameter2() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Parameter2 (const Standard_Real P) Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PointOnSurface,BRep_PointsOnSurface)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Real myParameter2;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PointOnSurface_HeaderFile
|
@@ -1,154 +0,0 @@
|
||||
-- Created on: 1993-08-10
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
deferred class 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;
|
@@ -14,13 +14,19 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PointRepresentation.ixx>
|
||||
|
||||
#include <BRep_PointRepresentation.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PointRepresentation
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PointRepresentation::BRep_PointRepresentation(const Standard_Real P,
|
||||
const TopLoc_Location& L) :
|
||||
myLocation(L),
|
||||
|
115
src/BRep/BRep_PointRepresentation.hxx
Normal file
115
src/BRep/BRep_PointRepresentation.hxx
Normal file
@@ -0,0 +1,115 @@
|
||||
// Created on: 1993-08-10
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PointRepresentation_HeaderFile
|
||||
#define _BRep_PointRepresentation_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Standard_DomainError;
|
||||
class TopLoc_Location;
|
||||
class Geom_Curve;
|
||||
class Geom2d_Curve;
|
||||
class Geom_Surface;
|
||||
|
||||
|
||||
class BRep_PointRepresentation;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PointRepresentation, MMgt_TShared)
|
||||
|
||||
//! Root class for the points representations.
|
||||
//! Contains a location and a parameter.
|
||||
class BRep_PointRepresentation : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! A point on a 3d curve.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurve() const;
|
||||
|
||||
//! A point on a 2d curve on a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurveOnSurface() const;
|
||||
|
||||
//! A point on a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnSurface() const;
|
||||
|
||||
//! A point on the curve <C>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurve (const Handle(Geom_Curve)& C, const TopLoc_Location& L) const;
|
||||
|
||||
//! A point on the 2d curve <PC> on the surface <S>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnCurveOnSurface (const Handle(Geom2d_Curve)& PC, const Handle(Geom_Surface)& S, const TopLoc_Location& L) const;
|
||||
|
||||
//! A point on the surface <S>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPointOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const;
|
||||
|
||||
const TopLoc_Location& Location() const;
|
||||
|
||||
void Location (const TopLoc_Location& L);
|
||||
|
||||
Standard_Real Parameter() const;
|
||||
|
||||
void Parameter (const Standard_Real P);
|
||||
|
||||
Standard_EXPORT virtual Standard_Real Parameter2() const;
|
||||
|
||||
Standard_EXPORT virtual void Parameter2 (const Standard_Real P);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Curve)& Curve() const;
|
||||
|
||||
Standard_EXPORT virtual void Curve (const Handle(Geom_Curve)& C);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom2d_Curve)& PCurve() const;
|
||||
|
||||
Standard_EXPORT virtual void PCurve (const Handle(Geom2d_Curve)& C);
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const;
|
||||
|
||||
Standard_EXPORT virtual void Surface (const Handle(Geom_Surface)& S);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PointRepresentation,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PointRepresentation(const Standard_Real P, const TopLoc_Location& L);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
TopLoc_Location myLocation;
|
||||
Standard_Real myParameter;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_PointRepresentation.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PointRepresentation_HeaderFile
|
@@ -1,43 +0,0 @@
|
||||
-- Created on: 1993-08-10
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
deferred class PointsOnSurface from BRep inherits PointRepresentation from BRep
|
||||
|
||||
---Purpose: Root for points on surface.
|
||||
|
||||
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;
|
@@ -14,14 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PointsOnSurface.ixx>
|
||||
|
||||
#include <BRep_PointsOnSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PointsOnSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PointsOnSurface::BRep_PointsOnSurface(const Standard_Real P,
|
||||
const Handle(Geom_Surface)& S,
|
||||
const TopLoc_Location& L) :
|
||||
|
69
src/BRep/BRep_PointsOnSurface.hxx
Normal file
69
src/BRep/BRep_PointsOnSurface.hxx
Normal file
@@ -0,0 +1,69 @@
|
||||
// Created on: 1993-08-10
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PointsOnSurface_HeaderFile
|
||||
#define _BRep_PointsOnSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_PointRepresentation.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
|
||||
|
||||
class BRep_PointsOnSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PointsOnSurface, BRep_PointRepresentation)
|
||||
|
||||
//! Root for points on surface.
|
||||
class BRep_PointsOnSurface : public BRep_PointRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Surface (const Handle(Geom_Surface)& S) Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PointsOnSurface,BRep_PointRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PointsOnSurface(const Standard_Real P, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom_Surface) mySurface;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PointsOnSurface_HeaderFile
|
@@ -1,59 +0,0 @@
|
||||
-- Created on: 1995-03-09
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Polygon3D from BRep inherits CurveRepresentation from BRep
|
||||
|
||||
---Purpose: Representation by a 3D polygon.
|
||||
|
||||
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 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 CurveRepresentation from BRep;
|
||||
---Purpose: Return a copy of this representation.
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myPolygon3D: Polygon3D from Poly;
|
||||
|
||||
|
||||
end Polygon3D;
|
@@ -14,14 +14,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_Polygon3D.ixx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_Polygon3D.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_Polygon3D
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_Polygon3D::BRep_Polygon3D(const Handle(Poly_Polygon3D)& P,
|
||||
const TopLoc_Location& L):
|
||||
BRep_CurveRepresentation(L),
|
||||
|
77
src/BRep/BRep_Polygon3D.hxx
Normal file
77
src/BRep/BRep_Polygon3D.hxx
Normal file
@@ -0,0 +1,77 @@
|
||||
// Created on: 1995-03-09
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_Polygon3D_HeaderFile
|
||||
#define _BRep_Polygon3D_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Poly_Polygon3D;
|
||||
class Standard_DomainError;
|
||||
class TopLoc_Location;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_Polygon3D;
|
||||
DEFINE_STANDARD_HANDLE(BRep_Polygon3D, BRep_CurveRepresentation)
|
||||
|
||||
//! Representation by a 3D polygon.
|
||||
class BRep_Polygon3D : public BRep_CurveRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_Polygon3D(const Handle(Poly_Polygon3D)& P, const TopLoc_Location& L);
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygon3D() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon3D)& Polygon3D() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Polygon3D (const Handle(Poly_Polygon3D)& P) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT Handle(BRep_CurveRepresentation) Copy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_Polygon3D,BRep_CurveRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Poly_Polygon3D) myPolygon3D;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_Polygon3D_HeaderFile
|
@@ -1,59 +0,0 @@
|
||||
-- Created on: 1995-03-15
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 CurveRepresentation from BRep
|
||||
---Purpose: Return a copy of this representation.
|
||||
is redefined;
|
||||
|
||||
fields
|
||||
|
||||
myPolygon2: Polygon2D from Poly;
|
||||
|
||||
end PolygonOnClosedSurface;
|
@@ -14,13 +14,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PolygonOnClosedSurface.ixx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_PolygonOnClosedSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PolygonOnClosedSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PolygonOnClosedSurface::BRep_PolygonOnClosedSurface(const Handle(Poly_Polygon2D)& P1,
|
||||
const Handle(Poly_Polygon2D)& P2,
|
||||
const Handle(Geom_Surface)& S,
|
||||
|
78
src/BRep/BRep_PolygonOnClosedSurface.hxx
Normal file
78
src/BRep/BRep_PolygonOnClosedSurface.hxx
Normal file
@@ -0,0 +1,78 @@
|
||||
// Created on: 1995-03-15
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PolygonOnClosedSurface_HeaderFile
|
||||
#define _BRep_PolygonOnClosedSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Poly_Polygon2D;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_PolygonOnClosedSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PolygonOnClosedSurface, BRep_PolygonOnSurface)
|
||||
|
||||
//! Representation by two 2d polygons in the parametric
|
||||
//! space of a surface.
|
||||
class BRep_PolygonOnClosedSurface : public BRep_PolygonOnSurface
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PolygonOnClosedSurface(const Handle(Poly_Polygon2D)& P1, const Handle(Poly_Polygon2D)& P2, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnClosedSurface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon2D)& Polygon2() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Polygon2 (const Handle(Poly_Polygon2D)& P) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PolygonOnClosedSurface,BRep_PolygonOnSurface)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Poly_Polygon2D) myPolygon2;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PolygonOnClosedSurface_HeaderFile
|
@@ -1,64 +0,0 @@
|
||||
-- Created on: 1995-03-15
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 CurveRepresentation from BRep is redefined;
|
||||
---Purpose: Return a copy of this representation.
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myPolygon2: PolygonOnTriangulation from Poly;
|
||||
|
||||
end PolygonOnClosedTriangulation;
|
@@ -14,13 +14,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PolygonOnClosedTriangulation.ixx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_PolygonOnClosedTriangulation.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PolygonOnClosedTriangulation
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PolygonOnClosedTriangulation::BRep_PolygonOnClosedTriangulation
|
||||
(const Handle(Poly_PolygonOnTriangulation)& P1,
|
||||
const Handle(Poly_PolygonOnTriangulation)& P2,
|
||||
|
78
src/BRep/BRep_PolygonOnClosedTriangulation.hxx
Normal file
78
src/BRep/BRep_PolygonOnClosedTriangulation.hxx
Normal file
@@ -0,0 +1,78 @@
|
||||
// Created on: 1995-03-15
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PolygonOnClosedTriangulation_HeaderFile
|
||||
#define _BRep_PolygonOnClosedTriangulation_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Poly_PolygonOnTriangulation;
|
||||
class Poly_Triangulation;
|
||||
class TopLoc_Location;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_PolygonOnClosedTriangulation;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PolygonOnClosedTriangulation, BRep_PolygonOnTriangulation)
|
||||
|
||||
//! A representation by two arrays of nodes on a
|
||||
//! triangulation.
|
||||
class BRep_PolygonOnClosedTriangulation : public BRep_PolygonOnTriangulation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PolygonOnClosedTriangulation(const Handle(Poly_PolygonOnTriangulation)& P1, const Handle(Poly_PolygonOnTriangulation)& P2, const Handle(Poly_Triangulation)& Tr, const TopLoc_Location& L);
|
||||
|
||||
//! Returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnClosedTriangulation() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void PolygonOnTriangulation2 (const Handle(Poly_PolygonOnTriangulation)& P2) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_PolygonOnTriangulation)& PolygonOnTriangulation2() const Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PolygonOnClosedTriangulation,BRep_PolygonOnTriangulation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Poly_PolygonOnTriangulation) myPolygon2;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PolygonOnClosedTriangulation_HeaderFile
|
@@ -1,78 +0,0 @@
|
||||
-- Created on: 1995-03-14
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 CurveRepresentation from BRep
|
||||
---Purpose: Return a copy of this representation.
|
||||
is redefined;
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myPolygon2D: Polygon2D from Poly;
|
||||
mySurface : Surface from Geom;
|
||||
|
||||
|
||||
end PolygonOnSurface;
|
@@ -14,15 +14,19 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PolygonOnSurface.ixx>
|
||||
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PolygonOnSurface
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PolygonOnSurface::BRep_PolygonOnSurface(const Handle(Poly_Polygon2D)& P,
|
||||
const Handle(Geom_Surface)& S,
|
||||
const TopLoc_Location& L):
|
||||
|
87
src/BRep/BRep_PolygonOnSurface.hxx
Normal file
87
src/BRep/BRep_PolygonOnSurface.hxx
Normal file
@@ -0,0 +1,87 @@
|
||||
// Created on: 1995-03-14
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PolygonOnSurface_HeaderFile
|
||||
#define _BRep_PolygonOnSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Poly_Polygon2D;
|
||||
class Geom_Surface;
|
||||
class Standard_DomainError;
|
||||
class TopLoc_Location;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_PolygonOnSurface;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PolygonOnSurface, BRep_CurveRepresentation)
|
||||
|
||||
//! Representation of a 2D polygon in the parametric
|
||||
//! space of a surface.
|
||||
class BRep_PolygonOnSurface : public BRep_CurveRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PolygonOnSurface(const Handle(Poly_Polygon2D)& P, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! A 2D polygon representation in the parametric
|
||||
//! space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnSurface() const Standard_OVERRIDE;
|
||||
|
||||
//! A 2D polygon representation in the parametric
|
||||
//! space of a surface.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Geom_Surface)& Surface() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Polygon2D)& Polygon() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Polygon (const Handle(Poly_Polygon2D)& P) Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PolygonOnSurface,BRep_CurveRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Poly_Polygon2D) myPolygon2D;
|
||||
Handle(Geom_Surface) mySurface;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PolygonOnSurface_HeaderFile
|
@@ -1,69 +0,0 @@
|
||||
-- Created on: 1995-03-15
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 CurveRepresentation from BRep is virtual;
|
||||
---Purpose: Return a copy of this representation.
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myPolygon : PolygonOnTriangulation from Poly;
|
||||
myTriangulation : Triangulation from Poly;
|
||||
|
||||
end PolygonOnTriangulation;
|
@@ -14,15 +14,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_PolygonOnTriangulation.ixx>
|
||||
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_PolygonOnTriangulation
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_PolygonOnTriangulation::BRep_PolygonOnTriangulation
|
||||
(const Handle(Poly_PolygonOnTriangulation)& P,
|
||||
const Handle(Poly_Triangulation)& T,
|
||||
|
86
src/BRep/BRep_PolygonOnTriangulation.hxx
Normal file
86
src/BRep/BRep_PolygonOnTriangulation.hxx
Normal file
@@ -0,0 +1,86 @@
|
||||
// Created on: 1995-03-15
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_PolygonOnTriangulation_HeaderFile
|
||||
#define _BRep_PolygonOnTriangulation_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Poly_PolygonOnTriangulation;
|
||||
class Poly_Triangulation;
|
||||
class TopLoc_Location;
|
||||
class BRep_CurveRepresentation;
|
||||
|
||||
|
||||
class BRep_PolygonOnTriangulation;
|
||||
DEFINE_STANDARD_HANDLE(BRep_PolygonOnTriangulation, BRep_CurveRepresentation)
|
||||
|
||||
//! A representation by an array of nodes on a
|
||||
//! triangulation.
|
||||
class BRep_PolygonOnTriangulation : public BRep_CurveRepresentation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_PolygonOnTriangulation(const Handle(Poly_PolygonOnTriangulation)& P, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L);
|
||||
|
||||
//! returns True.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnTriangulation() const Standard_OVERRIDE;
|
||||
|
||||
//! Is it a polygon in the definition of <T> with
|
||||
//! location <L>.
|
||||
Standard_EXPORT virtual Standard_Boolean IsPolygonOnTriangulation (const Handle(Poly_Triangulation)& T, const TopLoc_Location& L) const Standard_OVERRIDE;
|
||||
|
||||
//! returns True.
|
||||
Standard_EXPORT virtual void PolygonOnTriangulation (const Handle(Poly_PolygonOnTriangulation)& P) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_Triangulation)& Triangulation() const Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual const Handle(Poly_PolygonOnTriangulation)& PolygonOnTriangulation() const Standard_OVERRIDE;
|
||||
|
||||
//! Return a copy of this representation.
|
||||
Standard_EXPORT virtual Handle(BRep_CurveRepresentation) Copy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_PolygonOnTriangulation,BRep_CurveRepresentation)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Poly_PolygonOnTriangulation) myPolygon;
|
||||
Handle(Poly_Triangulation) myTriangulation;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_PolygonOnTriangulation_HeaderFile
|
@@ -1,94 +0,0 @@
|
||||
-- Created on: 1992-05-27
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 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;
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#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>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopoDS_TShape.hxx>
|
||||
|
||||
static const Standard_Integer ParameterMask = 1;
|
||||
static const Standard_Integer RangeMask = 2;
|
||||
|
111
src/BRep/BRep_TEdge.hxx
Normal file
111
src/BRep/BRep_TEdge.hxx
Normal file
@@ -0,0 +1,111 @@
|
||||
// Created on: 1992-05-27
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_TEdge_HeaderFile
|
||||
#define _BRep_TEdge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <TopoDS_TEdge.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class TopoDS_TShape;
|
||||
|
||||
|
||||
class BRep_TEdge;
|
||||
DEFINE_STANDARD_HANDLE(BRep_TEdge, TopoDS_TEdge)
|
||||
|
||||
//! 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.
|
||||
class BRep_TEdge : public TopoDS_TEdge
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Creates an empty TEdge.
|
||||
Standard_EXPORT BRep_TEdge();
|
||||
|
||||
Standard_Real Tolerance() const;
|
||||
|
||||
void Tolerance (const Standard_Real T);
|
||||
|
||||
//! Sets the tolerance to the max of <T> and the
|
||||
//! current tolerance.
|
||||
void UpdateTolerance (const Standard_Real T);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SameParameter() const;
|
||||
|
||||
Standard_EXPORT void SameParameter (const Standard_Boolean S);
|
||||
|
||||
Standard_EXPORT Standard_Boolean SameRange() const;
|
||||
|
||||
Standard_EXPORT void SameRange (const Standard_Boolean S);
|
||||
|
||||
Standard_EXPORT Standard_Boolean Degenerated() const;
|
||||
|
||||
Standard_EXPORT void Degenerated (const Standard_Boolean S);
|
||||
|
||||
const BRep_ListOfCurveRepresentation& Curves() const;
|
||||
|
||||
BRep_ListOfCurveRepresentation& ChangeCurves();
|
||||
|
||||
//! Returns a copy of the TShape with no sub-shapes.
|
||||
Standard_EXPORT Handle(TopoDS_TShape) EmptyCopy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_TEdge,TopoDS_TEdge)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Real myTolerance;
|
||||
Standard_Integer myFlags;
|
||||
BRep_ListOfCurveRepresentation myCurves;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_TEdge.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_TEdge_HeaderFile
|
@@ -1,100 +0,0 @@
|
||||
-- Created on: 1992-05-27
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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 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 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;
|
||||
|
@@ -14,14 +14,19 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_TFace.ixx>
|
||||
|
||||
#include <BRep_TFace.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS_TShape.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_TFace
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_TFace::BRep_TFace() :
|
||||
TopoDS_TFace(),
|
||||
myTolerance(RealEpsilon()),
|
||||
|
120
src/BRep/BRep_TFace.hxx
Normal file
120
src/BRep/BRep_TFace.hxx
Normal file
@@ -0,0 +1,120 @@
|
||||
// Created on: 1992-05-27
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_TFace_HeaderFile
|
||||
#define _BRep_TFace_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopoDS_TFace.hxx>
|
||||
class Geom_Surface;
|
||||
class Poly_Triangulation;
|
||||
class TopLoc_Location;
|
||||
class TopoDS_TShape;
|
||||
|
||||
|
||||
class BRep_TFace;
|
||||
DEFINE_STANDARD_HANDLE(BRep_TFace, TopoDS_TFace)
|
||||
|
||||
//! 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.
|
||||
class BRep_TFace : public TopoDS_TFace
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Creates an empty TFace.
|
||||
Standard_EXPORT BRep_TFace();
|
||||
|
||||
const Handle(Geom_Surface)& Surface() const;
|
||||
|
||||
const Handle(Poly_Triangulation)& Triangulation() const;
|
||||
|
||||
const TopLoc_Location& Location() const;
|
||||
|
||||
Standard_Real Tolerance() const;
|
||||
|
||||
void Surface (const Handle(Geom_Surface)& S);
|
||||
|
||||
void Triangulation (const Handle(Poly_Triangulation)& T);
|
||||
|
||||
void Location (const TopLoc_Location& L);
|
||||
|
||||
void Tolerance (const Standard_Real T);
|
||||
|
||||
Standard_Boolean NaturalRestriction() const;
|
||||
|
||||
void NaturalRestriction (const Standard_Boolean N);
|
||||
|
||||
//! Returns a copy of the TShape with no sub-shapes.
|
||||
//! The new Face has no triangulation.
|
||||
Standard_EXPORT virtual Handle(TopoDS_TShape) EmptyCopy() const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_TFace,TopoDS_TFace)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(Geom_Surface) mySurface;
|
||||
Handle(Poly_Triangulation) myTriangulation;
|
||||
TopLoc_Location myLocation;
|
||||
Standard_Real myTolerance;
|
||||
Standard_Boolean myNaturalRestriction;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_TFace.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_TFace_HeaderFile
|
@@ -1,75 +0,0 @@
|
||||
-- Created on: 1992-05-27
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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, location and a tolerance.
|
||||
--
|
||||
uses
|
||||
Pnt from gp,
|
||||
TShape from TopoDS,
|
||||
ListOfPointRepresentation from BRep
|
||||
|
||||
is
|
||||
Create returns 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 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;
|
@@ -14,14 +14,17 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_TVertex.ixx>
|
||||
|
||||
#include <BRep_TVertex.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopoDS_TShape.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRep_TVertex
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRep_TVertex::BRep_TVertex() :
|
||||
TopoDS_TVertex(),
|
||||
myTolerance(RealEpsilon())
|
||||
|
92
src/BRep/BRep_TVertex.hxx
Normal file
92
src/BRep/BRep_TVertex.hxx
Normal file
@@ -0,0 +1,92 @@
|
||||
// Created on: 1992-05-27
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_TVertex_HeaderFile
|
||||
#define _BRep_TVertex_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRep_ListOfPointRepresentation.hxx>
|
||||
#include <TopoDS_TVertex.hxx>
|
||||
class gp_Pnt;
|
||||
class TopoDS_TShape;
|
||||
|
||||
|
||||
class BRep_TVertex;
|
||||
DEFINE_STANDARD_HANDLE(BRep_TVertex, TopoDS_TVertex)
|
||||
|
||||
//! The TVertex from BRep inherits from the TVertex
|
||||
//! from TopoDS. It contains the geometric data.
|
||||
//!
|
||||
//! The TVertex contains a 3d point, location and a tolerance.
|
||||
class BRep_TVertex : public TopoDS_TVertex
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRep_TVertex();
|
||||
|
||||
Standard_Real Tolerance() const;
|
||||
|
||||
void Tolerance (const Standard_Real T);
|
||||
|
||||
//! Sets the tolerance to the max of <T> and the
|
||||
//! current tolerance.
|
||||
void UpdateTolerance (const Standard_Real T);
|
||||
|
||||
const gp_Pnt& Pnt() const;
|
||||
|
||||
void Pnt (const gp_Pnt& P);
|
||||
|
||||
const BRep_ListOfPointRepresentation& Points() const;
|
||||
|
||||
BRep_ListOfPointRepresentation& ChangePoints();
|
||||
|
||||
//! Returns a copy of the TShape with no sub-shapes.
|
||||
Standard_EXPORT Handle(TopoDS_TShape) EmptyCopy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRep_TVertex,TopoDS_TVertex)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
gp_Pnt myPnt;
|
||||
Standard_Real myTolerance;
|
||||
BRep_ListOfPointRepresentation myPoints;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRep_TVertex.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_TVertex_HeaderFile
|
@@ -1,609 +0,0 @@
|
||||
-- Created on: 1993-07-07
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class 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
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
-----------------------------------------------------------
|
||||
-- Shape --
|
||||
-----------------------------------------------------------
|
||||
-----------------------------------------------------------
|
||||
IsClosed (myclass; S : Shape from TopoDS) returns Boolean from Standard;
|
||||
---Purpose: If S is Shell, returns True if it has no free boundaries (edges).
|
||||
-- If S is Wire, returns True if it has no free ends (vertices).
|
||||
-- (Internal and External sub-shepes are ignored in these checks)
|
||||
-- If S is Edge, returns True if its vertices are the same.
|
||||
-- For other shape types returns S.Closed().
|
||||
|
||||
-----------------------------------------------------------
|
||||
-----------------------------------------------------------
|
||||
-- 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;
|
||||
L : Location from TopLoc)
|
||||
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.
|
||||
|
||||
HasContinuity(myclass; E : Edge from TopoDS)
|
||||
returns Boolean
|
||||
|
||||
---Purpose: Returns True if the edge has regularity on some
|
||||
-- two surfaces
|
||||
raises
|
||||
NullObject from Standard; -- If the edge is 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;
|
||||
|
@@ -14,47 +14,59 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_Tool.ixx>
|
||||
#include <BRep_TFace.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_TVertex.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_PointRepresentation.hxx>
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
|
||||
#include <BRep_Curve3D.hxx>
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
#include <BRep_PointRepresentation.hxx>
|
||||
#include <BRep_Polygon3D.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <BRep_PolygonOnClosedSurface.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <BRep_PolygonOnClosedTriangulation.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_TFace.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRep_TVertex.hxx>
|
||||
#include <ElSLib.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_OffsetSurface.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
||||
#include <Geom_OffsetSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <ProjLib_ProjectedCurve.hxx>
|
||||
#include <GeomProjLib.hxx>
|
||||
#include <Geom2dAdaptor.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
|
||||
#include <NCollection_Map.hxx>
|
||||
#include <GeomProjLib.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <NCollection_IncAllocator.hxx>
|
||||
#include <NCollection_Map.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <ProjLib_ProjectedCurve.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <Standard_NullObject.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
#include <TopTools_ShapeMapHasher.hxx>
|
||||
|
||||
//modified by NIZNHY-PKV Fri Oct 17 14:13:29 2008f
|
||||
|
267
src/BRep/BRep_Tool.hxx
Normal file
267
src/BRep/BRep_Tool.hxx
Normal file
@@ -0,0 +1,267 @@
|
||||
// Created on: 1993-07-07
|
||||
// Created by: Remi LEQUETTE
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _BRep_Tool_HeaderFile
|
||||
#define _BRep_Tool_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class Standard_NullObject;
|
||||
class Standard_NoSuchObject;
|
||||
class TopoDS_Shape;
|
||||
class Geom_Surface;
|
||||
class TopoDS_Face;
|
||||
class TopLoc_Location;
|
||||
class Poly_Triangulation;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class Poly_Polygon3D;
|
||||
class Geom2d_Curve;
|
||||
class Poly_Polygon2D;
|
||||
class Poly_PolygonOnTriangulation;
|
||||
class gp_Pnt2d;
|
||||
class gp_Pnt;
|
||||
class TopoDS_Vertex;
|
||||
|
||||
|
||||
//! Provides class methods to access to the geometry
|
||||
//! of BRep shapes.
|
||||
class BRep_Tool
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! If S is Shell, returns True if it has no free boundaries (edges).
|
||||
//! If S is Wire, returns True if it has no free ends (vertices).
|
||||
//! (Internal and External sub-shepes are ignored in these checks)
|
||||
//! If S is Edge, returns True if its vertices are the same.
|
||||
//! For other shape types returns S.Closed().
|
||||
Standard_EXPORT static Standard_Boolean IsClosed (const TopoDS_Shape& S);
|
||||
|
||||
//! Returns the geometric surface of the face. Returns
|
||||
//! in <L> the location for the surface.
|
||||
Standard_EXPORT static const Handle(Geom_Surface)& Surface (const TopoDS_Face& F, TopLoc_Location& L);
|
||||
|
||||
//! Returns the geometric surface of the face. It can
|
||||
//! be a copy if there is a Location.
|
||||
Standard_EXPORT static Handle(Geom_Surface) Surface (const TopoDS_Face& F);
|
||||
|
||||
//! Returns the Triangulation of the face. It is a
|
||||
//! null handle if there is no triangulation.
|
||||
Standard_EXPORT static const Handle(Poly_Triangulation)& Triangulation (const TopoDS_Face& F, TopLoc_Location& L);
|
||||
|
||||
//! Returns the tolerance of the face.
|
||||
Standard_EXPORT static Standard_Real Tolerance (const TopoDS_Face& F);
|
||||
|
||||
//! Returns the NaturalRestriction flag of the face.
|
||||
Standard_EXPORT static Standard_Boolean NaturalRestriction (const TopoDS_Face& F);
|
||||
|
||||
//! Returns True if <E> is a 3d curve or a curve on
|
||||
//! surface.
|
||||
Standard_EXPORT static Standard_Boolean IsGeometric (const TopoDS_Edge& E);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static const Handle(Geom_Curve)& Curve (const TopoDS_Edge& E, TopLoc_Location& L, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static Handle(Geom_Curve) Curve (const TopoDS_Edge& E, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! Returns the 3D polygon of the edge. May be a Null
|
||||
//! handle. Returns in <L> the location for the polygon.
|
||||
Standard_EXPORT static const Handle(Poly_Polygon3D)& Polygon3D (const TopoDS_Edge& E, TopLoc_Location& L);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static Handle(Geom2d_Curve) CurveOnSurface (const TopoDS_Edge& E, const TopoDS_Face& F, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static Handle(Geom2d_Curve) CurveOnSurface (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void CurveOnSurface (const TopoDS_Edge& E, Handle(Geom2d_Curve)& C, Handle(Geom_Surface)& S, TopLoc_Location& L, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void CurveOnSurface (const TopoDS_Edge& E, Handle(Geom2d_Curve)& C, Handle(Geom_Surface)& S, TopLoc_Location& L, Standard_Real& First, Standard_Real& Last, const Standard_Integer Index);
|
||||
|
||||
//! Returns the polygon associated to the edge in the
|
||||
//! parametric space of the face. Returns a NULL
|
||||
//! handle if this polygon does not exist.
|
||||
Standard_EXPORT static Handle(Poly_Polygon2D) PolygonOnSurface (const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
//! Returns the polygon associated to the edge in the
|
||||
//! parametric space of the surface. Returns a NULL
|
||||
//! handle if this polygon does not exist.
|
||||
Standard_EXPORT static Handle(Poly_Polygon2D) PolygonOnSurface (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void PolygonOnSurface (const TopoDS_Edge& E, Handle(Poly_Polygon2D)& C, Handle(Geom_Surface)& S, TopLoc_Location& L);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void PolygonOnSurface (const TopoDS_Edge& E, Handle(Poly_Polygon2D)& C, Handle(Geom_Surface)& S, TopLoc_Location& L, const Standard_Integer Index);
|
||||
|
||||
//! Returns the polygon associated to the edge in the
|
||||
//! parametric space of the face. Returns a NULL
|
||||
//! handle if this polygon does not exist.
|
||||
Standard_EXPORT static const Handle(Poly_PolygonOnTriangulation)& PolygonOnTriangulation (const TopoDS_Edge& E, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void PolygonOnTriangulation (const TopoDS_Edge& E, Handle(Poly_PolygonOnTriangulation)& P, Handle(Poly_Triangulation)& T, TopLoc_Location& L);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static void PolygonOnTriangulation (const TopoDS_Edge& E, Handle(Poly_PolygonOnTriangulation)& P, Handle(Poly_Triangulation)& T, TopLoc_Location& L, const Standard_Integer Index);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static Standard_Boolean IsClosed (const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
//! 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.
|
||||
Standard_EXPORT static Standard_Boolean IsClosed (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! Returns True if <E> has two arrays of indices in
|
||||
//! the triangulation <T>.
|
||||
Standard_EXPORT static Standard_Boolean IsClosed (const TopoDS_Edge& E, const Handle(Poly_Triangulation)& T, const TopLoc_Location& L);
|
||||
|
||||
//! Returns the tolerance for <E>.
|
||||
Standard_EXPORT static Standard_Real Tolerance (const TopoDS_Edge& E);
|
||||
|
||||
//! Returns the SameParameter flag for the edge.
|
||||
Standard_EXPORT static Standard_Boolean SameParameter (const TopoDS_Edge& E);
|
||||
|
||||
//! Returns the SameRange flag for the edge.
|
||||
Standard_EXPORT static Standard_Boolean SameRange (const TopoDS_Edge& E);
|
||||
|
||||
//! Returns True if the edge is degenerated.
|
||||
Standard_EXPORT static Standard_Boolean Degenerated (const TopoDS_Edge& E);
|
||||
|
||||
//! Gets the range of the 3d curve.
|
||||
Standard_EXPORT static void Range (const TopoDS_Edge& E, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! Gets the range of the edge on the pcurve on the
|
||||
//! surface.
|
||||
Standard_EXPORT static void Range (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! Gets the range of the edge on the pcurve on the face.
|
||||
Standard_EXPORT static void Range (const TopoDS_Edge& E, const TopoDS_Face& F, Standard_Real& First, Standard_Real& Last);
|
||||
|
||||
//! Gets the UV locations of the extremities of the edge.
|
||||
Standard_EXPORT static void UVPoints (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, gp_Pnt2d& PFirst, gp_Pnt2d& PLast);
|
||||
|
||||
//! Gets the UV locations of the extremities of the edge.
|
||||
Standard_EXPORT static void UVPoints (const TopoDS_Edge& E, const TopoDS_Face& F, gp_Pnt2d& PFirst, gp_Pnt2d& PLast);
|
||||
|
||||
//! Sets the UV locations of the extremities of the edge.
|
||||
Standard_EXPORT static void SetUVPoints (const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L, const gp_Pnt2d& PFirst, const gp_Pnt2d& PLast);
|
||||
|
||||
//! Sets the UV locations of the extremities of the edge.
|
||||
Standard_EXPORT static void SetUVPoints (const TopoDS_Edge& E, const TopoDS_Face& F, const gp_Pnt2d& PFirst, const gp_Pnt2d& PLast);
|
||||
|
||||
//! Returns True if the edge is on the surfaces of the
|
||||
//! two faces.
|
||||
Standard_EXPORT static Standard_Boolean HasContinuity (const TopoDS_Edge& E, const TopoDS_Face& F1, const TopoDS_Face& F2);
|
||||
|
||||
//! Returns the continuity.
|
||||
Standard_EXPORT static GeomAbs_Shape Continuity (const TopoDS_Edge& E, const TopoDS_Face& F1, const TopoDS_Face& F2);
|
||||
|
||||
//! Returns True if the edge is on the surfaces.
|
||||
Standard_EXPORT static Standard_Boolean HasContinuity (const TopoDS_Edge& E, const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2);
|
||||
|
||||
//! Returns the continuity.
|
||||
Standard_EXPORT static GeomAbs_Shape Continuity (const TopoDS_Edge& E, const Handle(Geom_Surface)& S1, const Handle(Geom_Surface)& S2, const TopLoc_Location& L1, const TopLoc_Location& L2);
|
||||
|
||||
//! Returns True if the edge has regularity on some
|
||||
//! two surfaces
|
||||
Standard_EXPORT static Standard_Boolean HasContinuity (const TopoDS_Edge& E);
|
||||
|
||||
//! Returns the 3d point.
|
||||
Standard_EXPORT static gp_Pnt Pnt (const TopoDS_Vertex& V);
|
||||
|
||||
//! Returns the tolerance.
|
||||
Standard_EXPORT static Standard_Real Tolerance (const TopoDS_Vertex& V);
|
||||
|
||||
//! Returns the parameter of <V> on <E>.
|
||||
Standard_EXPORT static Standard_Real Parameter (const TopoDS_Vertex& V, const TopoDS_Edge& E);
|
||||
|
||||
//! Returns the parameters of the vertex on the
|
||||
//! pcurve of the edge on the face.
|
||||
Standard_EXPORT static Standard_Real Parameter (const TopoDS_Vertex& V, const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
//! Returns the parameters of the vertex on the
|
||||
//! pcurve of the edge on the surface.
|
||||
Standard_EXPORT static Standard_Real Parameter (const TopoDS_Vertex& V, const TopoDS_Edge& E, const Handle(Geom_Surface)& S, const TopLoc_Location& L);
|
||||
|
||||
//! Returns the parameters of the vertex on the face.
|
||||
Standard_EXPORT static gp_Pnt2d Parameters (const TopoDS_Vertex& V, const TopoDS_Face& F);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRep_Tool_HeaderFile
|
@@ -1,4 +1,55 @@
|
||||
BRep_ListOfCurveRepresentation.hxx
|
||||
BRep_Builder.cxx
|
||||
BRep_Builder.hxx
|
||||
BRep_Builder.lxx
|
||||
BRep_Curve3D.cxx
|
||||
BRep_Curve3D.hxx
|
||||
BRep_CurveOn2Surfaces.cxx
|
||||
BRep_CurveOn2Surfaces.hxx
|
||||
BRep_CurveOnClosedSurface.cxx
|
||||
BRep_CurveOnClosedSurface.hxx
|
||||
BRep_CurveOnClosedSurface.lxx
|
||||
BRep_CurveOnSurface.cxx
|
||||
BRep_CurveOnSurface.hxx
|
||||
BRep_CurveOnSurface.lxx
|
||||
BRep_CurveRepresentation.cxx
|
||||
BRep_CurveRepresentation.hxx
|
||||
BRep_CurveRepresentation.lxx
|
||||
BRep_GCurve.cxx
|
||||
BRep_GCurve.hxx
|
||||
BRep_GCurve.lxx
|
||||
BRep_ListIteratorOfListOfCurveRepresentation.hxx
|
||||
BRep_ListOfPointRepresentation.hxx
|
||||
BRep_ListIteratorOfListOfPointRepresentation.hxx
|
||||
BRep_ListOfCurveRepresentation.hxx
|
||||
BRep_ListOfPointRepresentation.hxx
|
||||
BRep_PointOnCurve.cxx
|
||||
BRep_PointOnCurve.hxx
|
||||
BRep_PointOnCurveOnSurface.cxx
|
||||
BRep_PointOnCurveOnSurface.hxx
|
||||
BRep_PointOnSurface.cxx
|
||||
BRep_PointOnSurface.hxx
|
||||
BRep_PointRepresentation.cxx
|
||||
BRep_PointRepresentation.hxx
|
||||
BRep_PointRepresentation.lxx
|
||||
BRep_PointsOnSurface.cxx
|
||||
BRep_PointsOnSurface.hxx
|
||||
BRep_Polygon3D.cxx
|
||||
BRep_Polygon3D.hxx
|
||||
BRep_PolygonOnClosedSurface.cxx
|
||||
BRep_PolygonOnClosedSurface.hxx
|
||||
BRep_PolygonOnClosedTriangulation.cxx
|
||||
BRep_PolygonOnClosedTriangulation.hxx
|
||||
BRep_PolygonOnSurface.cxx
|
||||
BRep_PolygonOnSurface.hxx
|
||||
BRep_PolygonOnTriangulation.cxx
|
||||
BRep_PolygonOnTriangulation.hxx
|
||||
BRep_TEdge.cxx
|
||||
BRep_TEdge.hxx
|
||||
BRep_TEdge.lxx
|
||||
BRep_TFace.cxx
|
||||
BRep_TFace.hxx
|
||||
BRep_TFace.lxx
|
||||
BRep_Tool.cxx
|
||||
BRep_Tool.hxx
|
||||
BRep_TVertex.cxx
|
||||
BRep_TVertex.hxx
|
||||
BRep_TVertex.lxx
|
||||
|
Reference in New Issue
Block a user