1
0
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:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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) :

View 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

View File

@@ -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;

View File

@@ -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)
{

View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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) :

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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),

View 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

View File

@@ -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;

View File

@@ -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) :

View 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

View File

@@ -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;

View File

@@ -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),

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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):

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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