1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +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,89 +0,0 @@
-- Created on: 1994-08-31
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1994-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 Draft
uses BRepTools,
TopoDS,
TopTools,
TopLoc,
TopAbs,
GeomAbs,
Geom,
Geom2d,
gp,
TColStd,
StdFail,
TCollection
is
class Modification; --- inherits Modification from BRepTools
class FaceInfo;
class EdgeInfo;
class VertexInfo;
enumeration ErrorStatus is
NoError,
FaceRecomputation,
EdgeRecomputation,
VertexRecomputation
end ErrorStatus;
imported DataMapOfFaceFaceInfo;
imported DataMapIteratorOfDataMapOfFaceFaceInfo;
imported DataMapOfEdgeEdgeInfo;
imported DataMapIteratorOfDataMapOfEdgeEdgeInfo;
imported DataMapOfVertexVertexInfo;
imported DataMapIteratorOfDataMapOfVertexVertexInfo;
Angle(F: Face from TopoDS; Direction: Dir from gp)
returns Real from Standard
raises DomainError from Standard;
---Purpose: Returns the draft angle of the face <F> using the
-- direction <Direction>. The method is valid for :
-- - Plane faces,
-- - Cylindrical or conical faces, when the direction
-- of the axis of the surface is colinear with the
-- direction.
-- Otherwise, the exception DomainError is raised.
end Draft;

View File

@@ -14,26 +14,25 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft.ixx>
#include <Geom_Surface.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_Plane.hxx>
#include <BRep_Tool.hxx>
#include <BRepTools.hxx>
#include <Draft.hxx>
#include <ElSLib.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_Plane.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_Surface.hxx>
#include <gp_Dir.hxx>
#include <Precision.hxx>
#include <Standard_DomainError.hxx>
#include <TopoDS_Face.hxx>
//=======================================================================
//function : Angle
//purpose :
//=======================================================================
Standard_Real Draft::Angle(const TopoDS_Face& F,
const gp_Dir& D)
{

77
src/Draft/Draft.hxx Normal file
View File

@@ -0,0 +1,77 @@
// Created on: 1994-08-31
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_HeaderFile
#define _Draft_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
class TopoDS_Face;
class gp_Dir;
class Draft_Modification;
class Draft_FaceInfo;
class Draft_EdgeInfo;
class Draft_VertexInfo;
class Draft
{
public:
DEFINE_STANDARD_ALLOC
//! Returns the draft angle of the face <F> using the
//! direction <Direction>. The method is valid for :
//! - Plane faces,
//! - Cylindrical or conical faces, when the direction
//! of the axis of the surface is colinear with the
//! direction.
//! Otherwise, the exception DomainError is raised.
Standard_EXPORT static Standard_Real Angle (const TopoDS_Face& F, const gp_Dir& Direction);
protected:
private:
friend class Draft_Modification;
friend class Draft_FaceInfo;
friend class Draft_EdgeInfo;
friend class Draft_VertexInfo;
};
#endif // _Draft_HeaderFile

View File

@@ -1,158 +0,0 @@
-- Created on: 1994-08-31
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1994-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 EdgeInfo from Draft
---Purpose:
uses Curve from Geom,
Curve from Geom2d,
Pnt from gp,
Face from TopoDS
raises DomainError from Standard
is
Create
returns EdgeInfo from Draft;
Create(HasNewGeometry: Boolean from Standard)
returns EdgeInfo from Draft;
Add(me: in out; F: Face from TopoDS)
is static;
RootFace(me: in out; F: Face from TopoDS)
is static;
Tangent(me: in out; P: Pnt from gp)
is static;
IsTangent(me; P: out Pnt from gp)
returns Boolean from Standard
is static;
NewGeometry(me)
returns Boolean from Standard
is static;
SetNewGeometry(me: in out; NewGeom : Boolean from Standard)
is static;
Geometry(me)
returns Curve from Geom
is static;
---C++: return const&
FirstFace(me)
returns Face from TopoDS
is static;
---C++: return const&
SecondFace(me)
returns Face from TopoDS
is static;
---C++: return const&
FirstPC(me)
returns Curve from Geom2d
is static;
---C++: return const&
SecondPC(me)
returns Curve from Geom2d
is static;
---C++: return const&
ChangeGeometry(me: in out)
returns Curve from Geom
is static;
---C++: return &
ChangeFirstPC(me: in out)
returns Curve from Geom2d
is static;
---C++: return &
ChangeSecondPC(me: in out)
returns Curve from Geom2d
is static;
---C++: return &
RootFace(me)
---C++: return const&
returns Face from TopoDS
is static;
Tolerance(me: in out; tol: Real from Standard)
is static;
Tolerance(me)
returns Real from Standard
is static;
fields
myNewGeom : Boolean from Standard;
myGeom : Curve from Geom;
myFirstF : Face from TopoDS;
mySeconF : Face from TopoDS;
myFirstPC : Curve from Geom2d;
mySeconPC : Curve from Geom2d;
myRootFace: Face from TopoDS;
myTgt : Boolean from Standard;
myPt : Pnt from gp;
myTol : Real from Standard;
end EdgeInfo;

View File

@@ -14,17 +14,19 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft_EdgeInfo.ixx>
#include <Standard_DomainError.hxx>
#include <BRep_Tool.hxx>
#include <Draft_EdgeInfo.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <gp_Pnt.hxx>
#include <Standard_DomainError.hxx>
#include <TopoDS_Face.hxx>
//=======================================================================
//function : Draft_EdgeInfo
//purpose :
//=======================================================================
Draft_EdgeInfo::Draft_EdgeInfo():
myNewGeom(Standard_False),myTgt(Standard_False),myTol(0)
{}

View File

@@ -0,0 +1,114 @@
// Created on: 1994-08-31
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_EdgeInfo_HeaderFile
#define _Draft_EdgeInfo_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <TopoDS_Face.hxx>
#include <gp_Pnt.hxx>
#include <Standard_Real.hxx>
class Geom_Curve;
class Geom2d_Curve;
class Standard_DomainError;
class TopoDS_Face;
class gp_Pnt;
class Draft_EdgeInfo
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT Draft_EdgeInfo();
Standard_EXPORT Draft_EdgeInfo(const Standard_Boolean HasNewGeometry);
Standard_EXPORT void Add (const TopoDS_Face& F);
Standard_EXPORT void RootFace (const TopoDS_Face& F);
Standard_EXPORT void Tangent (const gp_Pnt& P);
Standard_EXPORT Standard_Boolean IsTangent (gp_Pnt& P) const;
Standard_EXPORT Standard_Boolean NewGeometry() const;
Standard_EXPORT void SetNewGeometry (const Standard_Boolean NewGeom);
Standard_EXPORT const Handle(Geom_Curve)& Geometry() const;
Standard_EXPORT const TopoDS_Face& FirstFace() const;
Standard_EXPORT const TopoDS_Face& SecondFace() const;
Standard_EXPORT const Handle(Geom2d_Curve)& FirstPC() const;
Standard_EXPORT const Handle(Geom2d_Curve)& SecondPC() const;
Standard_EXPORT Handle(Geom_Curve)& ChangeGeometry();
Standard_EXPORT Handle(Geom2d_Curve)& ChangeFirstPC();
Standard_EXPORT Handle(Geom2d_Curve)& ChangeSecondPC();
Standard_EXPORT const TopoDS_Face& RootFace() const;
Standard_EXPORT void Tolerance (const Standard_Real tol);
Standard_EXPORT Standard_Real Tolerance() const;
protected:
private:
Standard_Boolean myNewGeom;
Handle(Geom_Curve) myGeom;
TopoDS_Face myFirstF;
TopoDS_Face mySeconF;
Handle(Geom2d_Curve) myFirstPC;
Handle(Geom2d_Curve) mySeconPC;
TopoDS_Face myRootFace;
Standard_Boolean myTgt;
gp_Pnt myPt;
Standard_Real myTol;
};
#endif // _Draft_EdgeInfo_HeaderFile

View File

@@ -0,0 +1,29 @@
// Created on: 1994-08-31
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_ErrorStatus_HeaderFile
#define _Draft_ErrorStatus_HeaderFile
enum Draft_ErrorStatus
{
Draft_NoError,
Draft_FaceRecomputation,
Draft_EdgeRecomputation,
Draft_VertexRecomputation
};
#endif // _Draft_ErrorStatus_HeaderFile

View File

@@ -1,111 +0,0 @@
-- Created on: 1994-08-31
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1994-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 FaceInfo from Draft
---Purpose:
uses Surface from Geom,
Curve from Geom,
Face from TopoDS
raises DomainError from Standard
is
Create
returns FaceInfo from Draft;
Create(S: Surface from Geom; HasNewGeometry: Boolean from Standard)
returns FaceInfo from Draft;
RootFace(me: in out; F: Face from TopoDS)
is static;
NewGeometry(me)
returns Boolean from Standard
is static;
Add(me: in out; F: Face from TopoDS)
is static;
FirstFace(me)
returns Face from TopoDS
---C++: return const&
is static;
SecondFace(me)
returns Face from TopoDS
---C++: return const&
is static;
Geometry(me)
returns Surface from Geom
is static;
---C++: return const&
ChangeGeometry(me: in out)
returns Surface from Geom
is static;
---C++: return &
RootFace(me)
---C++: return const&
returns Face from TopoDS
is static;
ChangeCurve(me: in out)
returns Curve from Geom
---C++: return &
is static;
Curve(me)
returns Curve from Geom
---C++: return const&
is static;
fields
myNewGeom : Boolean from Standard;
myGeom : Surface from Geom;
myRootFace: Face from TopoDS;
myF1 : Face from TopoDS;
myF2 : Face from TopoDS;
myCurv : Curve from Geom;
end FaceInfo;

View File

@@ -14,15 +14,18 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft_FaceInfo.ixx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Draft_FaceInfo.hxx>
#include <Geom_Curve.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_Surface.hxx>
#include <Standard_DomainError.hxx>
#include <TopoDS_Face.hxx>
//=======================================================================
//function : Draft_FaceInfo
//purpose :
//=======================================================================
Draft_FaceInfo::Draft_FaceInfo ()
{
}

View File

@@ -0,0 +1,93 @@
// Created on: 1994-08-31
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_FaceInfo_HeaderFile
#define _Draft_FaceInfo_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <TopoDS_Face.hxx>
class Geom_Surface;
class Geom_Curve;
class Standard_DomainError;
class TopoDS_Face;
class Draft_FaceInfo
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT Draft_FaceInfo();
Standard_EXPORT Draft_FaceInfo(const Handle(Geom_Surface)& S, const Standard_Boolean HasNewGeometry);
Standard_EXPORT void RootFace (const TopoDS_Face& F);
Standard_EXPORT Standard_Boolean NewGeometry() const;
Standard_EXPORT void Add (const TopoDS_Face& F);
Standard_EXPORT const TopoDS_Face& FirstFace() const;
Standard_EXPORT const TopoDS_Face& SecondFace() const;
Standard_EXPORT const Handle(Geom_Surface)& Geometry() const;
Standard_EXPORT Handle(Geom_Surface)& ChangeGeometry();
Standard_EXPORT const TopoDS_Face& RootFace() const;
Standard_EXPORT Handle(Geom_Curve)& ChangeCurve();
Standard_EXPORT const Handle(Geom_Curve)& Curve() const;
protected:
private:
Standard_Boolean myNewGeom;
Handle(Geom_Surface) myGeom;
TopoDS_Face myRootFace;
TopoDS_Face myF1;
TopoDS_Face myF2;
Handle(Geom_Curve) myCurv;
};
#endif // _Draft_FaceInfo_HeaderFile

View File

@@ -1,331 +0,0 @@
-- Created on: 1994-08-30
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1994-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 Modification from Draft inherits Modification from BRepTools
---Purpose:
uses Shape from TopoDS,
Face from TopoDS,
Edge from TopoDS,
Vertex from TopoDS,
Location from TopLoc,
ListOfShape from TopTools,
IndexedDataMapOfShapeListOfShape from TopTools,
Orientation from TopAbs,
Shape from GeomAbs,
Surface from Geom,
Curve from Geom,
Curve from Geom2d,
Pnt from gp,
Lin from gp,
Pln from gp,
Dir from gp,
ErrorStatus from Draft,
DataMapOfFaceFaceInfo from Draft,
DataMapOfEdgeEdgeInfo from Draft,
DataMapOfVertexVertexInfo from Draft
raises NotDone from StdFail,
NoSuchObject from Standard,
ConstructionError from Standard
is
Create(S: Shape from TopoDS)
returns Modification from Draft;
Clear(me: mutable)
---Purpose: Resets on the same shape.
is static;
Init(me: mutable; S: Shape from TopoDS)
---Purpose: Changes the basis shape and resets.
is static;
Add(me: mutable; F : Face from TopoDS;
Direction : Dir from gp;
Angle : Real from Standard;
NeutralPlane: Pln from gp;
Flag : Boolean from Standard = Standard_True)
---Purpose: Adds the face F and propagates the draft
-- modification to its neighbour faces if they are
-- tangent. If an error occurs, will return False and
-- ProblematicShape will return the "bad" face.
returns Boolean from Standard
raises ConstructionError from Standard
-- The exception is raised if ProblematicShape does not
-- return a null shape
is static;
Remove(me: mutable; F: Face from TopoDS)
---Purpose: Removes the face F and the neighbour faces if they
-- are tangent. It will be necessary to call this
-- method if the method Add returns Standard_False,
-- to unset ProblematicFace.
raises NoSuchObject from Standard
-- The exception is raised if F has not been added.
is static;
Perform(me: mutable)
---Purpose: Performs the draft angle modification and sets the
-- value returned by the method IsDone. If an error
-- occurs, IsDone will return Standard_False, and an
-- error status will be given by the method Error,
-- and the shape on which the problem appeared will
-- be given by ProblematicShape
raises ConstructionError from Standard
--- The exception is raised if ProblematicShape does not
-- return a null shape.
is static;
IsDone(me)
---Purpose: Returns True if Perform has been succesfully
-- called. Otherwise more information can be obtained
-- using the methods Error() and ProblematicShape().
returns Boolean from Standard
is static;
Error(me)
returns ErrorStatus from Draft
is static;
ProblematicShape(me)
---Purpose: Returns the shape (Face, Edge or Vertex) on which
-- an error occured.
returns Shape from TopoDS
---C++: return const&
is static;
ConnectedFaces(me: mutable; F: Face from TopoDS)
returns ListOfShape from TopTools
---Purpose: Returns all the faces which have been added
-- together with the face <F>.
--
---C++: return const&
raises NoSuchObject from Standard,
-- The exception is raised if F has not been added.
NotDone from StdFail
-- The exception is raised if IsDone returns False.
is static;
ModifiedFaces(me: mutable)
returns ListOfShape from TopTools
---Purpose: Returns all the faces on which a modification has
-- been given.
--
---C++: return const&
raises NotDone from StdFail
-- The exception is raised if ProblematicShape does not return
-- a null shape.
is static;
-- Methods inherited from BRepTools_Modification
NewSurface(me: mutable; F : Face from TopoDS;
S : out Surface from Geom;
L : out Location from TopLoc;
Tol : out Real from Standard;
RevWires : out Boolean from Standard;
RevFace : out Boolean from Standard)
---Purpose: Returns Standard_True if the face <F> has been
-- modified. In this case, <S> is the new geometric
-- support of the face, <L> the new location,<Tol>
-- the new tolerance.<RevWires> has to be set to
-- Standard_True when the modification reverses the
-- normal of the surface.(the wires have to be
-- reversed). <RevFace> has to be set to
-- Standard_True if the orientation of the modified
-- face changes in the shells which contain it. Here
-- it will be set to Standard_False.
--
-- Otherwise, returns Standard_False, and <S>, <L>,
-- <Tol> , <RevWires> ,<RevFace> are not significant.
returns Boolean from Standard
;
NewCurve(me: mutable; E : Edge from TopoDS;
C : out Curve from Geom;
L : out Location from TopLoc;
Tol: out Real from Standard)
returns Boolean from Standard
;
---Purpose: Returns Standard_True if the edge <E> has been
-- modified. In this case, <C> is the new geometric
-- support of the edge, <L> the new location, <Tol>
-- the new tolerance. Otherwise, returns
-- Standard_False, and <C>, <L>, <Tol> are not
-- significant.
NewPoint(me: mutable; V : Vertex from TopoDS;
P : out Pnt from gp;
Tol: out Real from Standard)
returns Boolean from Standard
;
---Purpose: Returns Standard_True if the vertex <V> has been
-- modified. In this case, <P> is the new geometric
-- support of the vertex, <Tol> the new tolerance.
-- Otherwise, returns Standard_False, and <P>, <Tol>
-- are not significant.
NewCurve2d(me: mutable; E : Edge from TopoDS;
F : Face from TopoDS;
NewE : Edge from TopoDS;
NewF : Face from TopoDS;
C : out Curve from Geom2d;
Tol : out Real from Standard)
returns Boolean from Standard
;
---Purpose: Returns Standard_True if the edge <E> has a new
-- curve on surface on the face <F>.In this case, <C>
-- is the new geometric support of the edge, <L> the
-- new location, <Tol> the new tolerance.
--
-- Otherwise, returns Standard_False, and <C>, <L>,
-- <Tol> are not significant.
--
-- <NewE> is the new edge created from <E>. <NewF>
-- is the new face created from <F>. They may be usefull.
NewParameter(me: mutable; V : Vertex from TopoDS;
E : Edge from TopoDS;
P : out Real from Standard;
Tol: out Real from Standard)
returns Boolean from Standard
;
---Purpose: Returns Standard_True if the Vertex <V> has a new
-- parameter on the edge <E>. In this case, <P> is
-- the parameter, <Tol> the new tolerance.
-- Otherwise, returns Standard_False, and <P>, <Tol>
-- are not significant.
Continuity(me: mutable; E : Edge from TopoDS;
F1,F2 : Face from TopoDS;
NewE : Edge from TopoDS;
NewF1,NewF2: Face from TopoDS)
returns Shape from GeomAbs;
---Purpose: Returns the continuity of <NewE> between <NewF1>
-- and <NewF2>.
--
-- <NewE> is the new edge created from <E>. <NewF1>
-- (resp. <NewF2>) is the new face created from <F1>
-- (resp. <F2>).
-- Private implementation methods
InternalAdd(me: mutable; F : Face from TopoDS;
Direction : Dir from gp;
Angle : Real from Standard;
NeutralPlane: Pln from gp;
Flag : Boolean from Standard = Standard_True)
returns Boolean from Standard
is static private;
Propagate(me: mutable)
returns Boolean from Standard
is static private;
NewCurve(me: mutable; C : Curve from Geom;
S : Surface from Geom;
OriS : Orientation from TopAbs;
Direction : Dir from gp;
Angle : Real from Standard;
NeutralPlane: Pln from gp;
Flag : Boolean from Standard = Standard_True)
returns Curve from Geom
is static private;
NewSurface(me: mutable; S : Surface from Geom;
OriS : Orientation from TopAbs;
Direction : Dir from gp;
Angle : Real from Standard;
NeutralPlane: Pln from gp)
returns Surface from Geom
is static private;
fields
myFMap : DataMapOfFaceFaceInfo from Draft;
myEMap : DataMapOfEdgeEdgeInfo from Draft;
myVMap : DataMapOfVertexVertexInfo from Draft;
myComp : Boolean from Standard;
myShape : Shape from TopoDS;
badShape: Shape from TopoDS;
errStat : ErrorStatus from Draft;
curFace : Face from TopoDS;
conneF : ListOfShape from TopTools;
myEFMap : IndexedDataMapOfShapeListOfShape from TopTools;
end Modification;

View File

@@ -14,51 +14,53 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft_Modification.ixx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <TopLoc_Location.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <Geom_Surface.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_SphericalSurface.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Ellipse.hxx>
#include <Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx>
#include <BRepTools.hxx>
#include <Draft_DataMapIteratorOfDataMapOfEdgeEdgeInfo.hxx>
#include <Draft_FaceInfo.hxx>
#include <Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx>
#include <Draft_EdgeInfo.hxx>
#include <Draft_FaceInfo.hxx>
#include <Draft_Modification.hxx>
#include <Draft_VertexInfo.hxx>
#include <StdFail_NotDone.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_Curve.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_SphericalSurface.hxx>
#include <Geom_Surface.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomProjLib.hxx>
#include <gp_Dir.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Vec2d.hxx>
#include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NoSuchObject.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Vec2d.hxx>
#include <TopoDS.hxx>
#include <Standard_Type.hxx>
#include <StdFail_NotDone.hxx>
#include <TopExp.hxx>
#include <GeomProjLib.hxx>
#include <Precision.hxx>
#include <BRep_Builder.hxx>
#include <BRepTools.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
//=======================================================================
//function : Draft_Modification
//purpose :
//=======================================================================
Draft_Modification::Draft_Modification (const TopoDS_Shape& S) :
myComp(Standard_False),myShape(S)
{

View File

@@ -0,0 +1,207 @@
// Created on: 1994-08-30
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_Modification_HeaderFile
#define _Draft_Modification_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Draft_DataMapOfFaceFaceInfo.hxx>
#include <Draft_DataMapOfEdgeEdgeInfo.hxx>
#include <Draft_DataMapOfVertexVertexInfo.hxx>
#include <Standard_Boolean.hxx>
#include <TopoDS_Shape.hxx>
#include <Draft_ErrorStatus.hxx>
#include <TopoDS_Face.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <BRepTools_Modification.hxx>
#include <Standard_Real.hxx>
#include <GeomAbs_Shape.hxx>
#include <TopAbs_Orientation.hxx>
class StdFail_NotDone;
class Standard_NoSuchObject;
class Standard_ConstructionError;
class TopoDS_Shape;
class TopoDS_Face;
class gp_Dir;
class gp_Pln;
class Geom_Surface;
class TopLoc_Location;
class TopoDS_Edge;
class Geom_Curve;
class TopoDS_Vertex;
class gp_Pnt;
class Geom2d_Curve;
class Draft_Modification;
DEFINE_STANDARD_HANDLE(Draft_Modification, BRepTools_Modification)
class Draft_Modification : public BRepTools_Modification
{
public:
Standard_EXPORT Draft_Modification(const TopoDS_Shape& S);
//! Resets on the same shape.
Standard_EXPORT void Clear();
//! Changes the basis shape and resets.
Standard_EXPORT void Init (const TopoDS_Shape& S);
//! Adds the face F and propagates the draft
//! modification to its neighbour faces if they are
//! tangent. If an error occurs, will return False and
//! ProblematicShape will return the "bad" face.
Standard_EXPORT Standard_Boolean Add (const TopoDS_Face& F, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
//! Removes the face F and the neighbour faces if they
//! are tangent. It will be necessary to call this
//! method if the method Add returns Standard_False,
//! to unset ProblematicFace.
Standard_EXPORT void Remove (const TopoDS_Face& F);
//! Performs the draft angle modification and sets the
//! value returned by the method IsDone. If an error
//! occurs, IsDone will return Standard_False, and an
//! error status will be given by the method Error,
//! and the shape on which the problem appeared will
//! be given by ProblematicShape
Standard_EXPORT void Perform();
//! Returns True if Perform has been succesfully
//! called. Otherwise more information can be obtained
//! using the methods Error() and ProblematicShape().
Standard_EXPORT Standard_Boolean IsDone() const;
Standard_EXPORT Draft_ErrorStatus Error() const;
//! Returns the shape (Face, Edge or Vertex) on which
//! an error occured.
Standard_EXPORT const TopoDS_Shape& ProblematicShape() const;
//! Returns all the faces which have been added
//! together with the face <F>.
Standard_EXPORT const TopTools_ListOfShape& ConnectedFaces (const TopoDS_Face& F);
//! Returns all the faces on which a modification has
//! been given.
Standard_EXPORT const TopTools_ListOfShape& ModifiedFaces();
//! Returns Standard_True if the face <F> has been
//! modified. In this case, <S> is the new geometric
//! support of the face, <L> the new location,<Tol>
//! the new tolerance.<RevWires> has to be set to
//! Standard_True when the modification reverses the
//! normal of the surface.(the wires have to be
//! reversed). <RevFace> has to be set to
//! Standard_True if the orientation of the modified
//! face changes in the shells which contain it. Here
//! it will be set to Standard_False.
//!
//! Otherwise, returns Standard_False, and <S>, <L>,
//! <Tol> , <RevWires> ,<RevFace> are not significant.
Standard_EXPORT Standard_Boolean NewSurface (const TopoDS_Face& F, Handle(Geom_Surface)& S, TopLoc_Location& L, Standard_Real& Tol, Standard_Boolean& RevWires, Standard_Boolean& RevFace);
//! Returns Standard_True if the edge <E> has been
//! modified. In this case, <C> is the new geometric
//! support of the edge, <L> the new location, <Tol>
//! the new tolerance. Otherwise, returns
//! Standard_False, and <C>, <L>, <Tol> are not
//! significant.
Standard_EXPORT Standard_Boolean NewCurve (const TopoDS_Edge& E, Handle(Geom_Curve)& C, TopLoc_Location& L, Standard_Real& Tol);
//! Returns Standard_True if the vertex <V> has been
//! modified. In this case, <P> is the new geometric
//! support of the vertex, <Tol> the new tolerance.
//! Otherwise, returns Standard_False, and <P>, <Tol>
//! are not significant.
Standard_EXPORT Standard_Boolean NewPoint (const TopoDS_Vertex& V, gp_Pnt& P, Standard_Real& Tol);
//! Returns Standard_True if the edge <E> has a new
//! curve on surface on the face <F>.In this case, <C>
//! is the new geometric support of the edge, <L> the
//! new location, <Tol> the new tolerance.
//!
//! Otherwise, returns Standard_False, and <C>, <L>,
//! <Tol> are not significant.
//!
//! <NewE> is the new edge created from <E>. <NewF>
//! is the new face created from <F>. They may be usefull.
Standard_EXPORT Standard_Boolean NewCurve2d (const TopoDS_Edge& E, const TopoDS_Face& F, const TopoDS_Edge& NewE, const TopoDS_Face& NewF, Handle(Geom2d_Curve)& C, Standard_Real& Tol);
//! Returns Standard_True if the Vertex <V> has a new
//! parameter on the edge <E>. In this case, <P> is
//! the parameter, <Tol> the new tolerance.
//! Otherwise, returns Standard_False, and <P>, <Tol>
//! are not significant.
Standard_EXPORT Standard_Boolean NewParameter (const TopoDS_Vertex& V, const TopoDS_Edge& E, Standard_Real& P, Standard_Real& Tol);
//! Returns the continuity of <NewE> between <NewF1>
//! and <NewF2>.
//!
//! <NewE> is the new edge created from <E>. <NewF1>
//! (resp. <NewF2>) is the new face created from <F1>
//! (resp. <F2>).
Standard_EXPORT GeomAbs_Shape Continuity (const TopoDS_Edge& E, const TopoDS_Face& F1, const TopoDS_Face& F2, const TopoDS_Edge& NewE, const TopoDS_Face& NewF1, const TopoDS_Face& NewF2);
DEFINE_STANDARD_RTTI(Draft_Modification,BRepTools_Modification)
protected:
private:
Standard_EXPORT Standard_Boolean InternalAdd (const TopoDS_Face& F, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
Standard_EXPORT Standard_Boolean Propagate();
Standard_EXPORT Handle(Geom_Curve) NewCurve (const Handle(Geom_Curve)& C, const Handle(Geom_Surface)& S, const TopAbs_Orientation OriS, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
Standard_EXPORT Handle(Geom_Surface) NewSurface (const Handle(Geom_Surface)& S, const TopAbs_Orientation OriS, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane);
Draft_DataMapOfFaceFaceInfo myFMap;
Draft_DataMapOfEdgeEdgeInfo myEMap;
Draft_DataMapOfVertexVertexInfo myVMap;
Standard_Boolean myComp;
TopoDS_Shape myShape;
TopoDS_Shape badShape;
Draft_ErrorStatus errStat;
TopoDS_Face curFace;
TopTools_ListOfShape conneF;
TopTools_IndexedDataMapOfShapeListOfShape myEFMap;
};
#endif // _Draft_Modification_HeaderFile

View File

@@ -14,107 +14,96 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft_Modification.jxx>
#include <BRep_Tool.hxx>
#include <BRep_Builder.hxx>
#include <BRepLib_MakeFace.hxx>
#include <TopLoc_Location.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx>
#include <Draft_DataMapIteratorOfDataMapOfEdgeEdgeInfo.hxx>
#include <Draft_DataMapIteratorOfDataMapOfVertexVertexInfo.hxx>
#include <Draft_FaceInfo.hxx>
#include <Draft_EdgeInfo.hxx>
#include <Draft_VertexInfo.hxx>
#include <BRep_Tool.hxx>
#include <BRep_Tool.hxx>
#include <Geom_Surface.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom2d_Line.hxx>
#include <Geom_Plane.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Line.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_Parabola.hxx>
#include <Geom_Hyperbola.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <GeomAdaptor_Surface.hxx>
#include <Adaptor3d_CurveOnSurface.hxx>
#include <Adaptor3d_HCurveOnSurface.hxx>
#include <Adaptor3d_SurfaceOfLinearExtrusion.hxx>
#include <gp_Vec.hxx>
#include <gp_Lin.hxx>
#include <gp_Pln.hxx>
#include <gp_Circ.hxx>
#include <gp_Elips.hxx>
#include <gp_Parab.hxx>
#include <gp_Hypr.hxx>
#include <IntCurveSurface_HInter.hxx>
#include <GeomInt_IntSS.hxx>
#include <IntCurveSurface_IntersectionPoint.hxx>
#include <IntAna_QuadQuadGeo.hxx>
#include <IntAna_IntConicQuad.hxx>
#include <Extrema_ExtPC.hxx>
#include <BRepExtrema_ExtPC.hxx>
#include <Approx_CurveOnSurface.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
#include <BRepExtrema_ExtCF.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_Failure.hxx>
#include <Standard_NotImplemented.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_MapIteratorOfMapOfShape.hxx>
#include <gp.hxx>
#include <Precision.hxx>
#include <BRepExtrema_ExtPC.hxx>
#include <BRepLib_MakeFace.hxx>
#include <BRepTools.hxx>
#include <Draft_DataMapIteratorOfDataMapOfEdgeEdgeInfo.hxx>
#include <Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx>
#include <Draft_DataMapIteratorOfDataMapOfVertexVertexInfo.hxx>
#include <Draft_EdgeInfo.hxx>
#include <Draft_FaceInfo.hxx>
#include <Draft_Modification.hxx>
#include <Draft_VertexInfo.hxx>
#include <ElCLib.hxx>
#include <ElSLib.hxx>
#include <BRepTools.hxx>
#include <TopoDS.hxx>
#include <TopExp.hxx>
#include <Extrema_ExtPC.hxx>
#include <Geom2d_BezierCurve.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_Curve.hxx>
#include <Geom2d_Line.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <Geom2dAdaptor_HCurve.hxx>
#include <Geom2dAPI_ProjectPointOnCurve.hxx>
#include <Geom2dConvert.hxx>
#include <Geom2dConvert_CompCurveToBSplineCurve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Conic.hxx>
#include <Geom_ConicalSurface.hxx>
#include <Geom_Curve.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_ElementarySurface.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_Hyperbola.hxx>
#include <Geom_Line.hxx>
#include <Geom_Parabola.hxx>
#include <Geom_Plane.hxx>
#include <Geom_RectangularTrimmedSurface.hxx>
#include <Geom_Surface.hxx>
#include <Geom_SurfaceOfLinearExtrusion.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <GeomAdaptor_HCurve.hxx>
#include <GeomAdaptor_HSurface.hxx>
#include <GeomAPI_ProjectPointOnSurf.hxx>
#include <GeomAdaptor_Surface.hxx>
#include <GeomAPI_ProjectPointOnCurve.hxx>
#include <Geom2d_TrimmedCurve.hxx>
#include <Geom2dAPI_ProjectPointOnCurve.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2dConvert.hxx>
#include <Geom2dAdaptor_HCurve.hxx>
#include <Adaptor3d_CurveOnSurface.hxx>
#include <GeomAPI_ProjectPointOnSurf.hxx>
#include <GeomConvert_CompCurveToBSplineCurve.hxx>
#include <GeomInt_IntSS.hxx>
#include <GeomProjLib.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
#include <Geom2d_BezierCurve.hxx>
#include <Geom2dConvert_CompCurveToBSplineCurve.hxx>
#include <Adaptor3d_HCurveOnSurface.hxx>
#include <gp.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <gp_Hypr.hxx>
#include <gp_Lin.hxx>
#include <gp_Parab.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <IntAna_IntConicQuad.hxx>
#include <IntAna_QuadQuadGeo.hxx>
#include <IntCurveSurface_HInter.hxx>
#include <IntCurveSurface_IntersectionPoint.hxx>
#include <Precision.hxx>
#include <ProjLib_CompProjectedCurve.hxx>
#include <ProjLib_HCompProjectedCurve.hxx>
#include <Approx_CurveOnSurface.hxx>
#include <GeomConvert_CompCurveToBSplineCurve.hxx>
#include <Geom_Conic.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_ElementarySurface.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_Failure.hxx>
#include <Standard_NoSuchObject.hxx>
#include <Standard_NotImplemented.hxx>
#include <StdFail_NotDone.hxx>
#include <TColgp_Array1OfPnt2d.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_Shape.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_MapIteratorOfMapOfShape.hxx>
#include <TopTools_MapOfShape.hxx>
static Standard_Boolean Choose(const Draft_DataMapOfFaceFaceInfo&,
Draft_DataMapOfEdgeEdgeInfo&,

View File

@@ -1,101 +0,0 @@
-- Created on: 1994-08-31
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1994-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 VertexInfo from Draft
---Purpose:
uses Pnt from gp,
Edge from TopoDS,
ListOfShape from TopTools,
ListOfReal from TColStd,
ListIteratorOfListOfShape from TopTools
raises DomainError from Standard,
NoMoreObject from Standard
is
Create
returns VertexInfo from Draft;
Add(me: in out; E: Edge from TopoDS)
is static;
Geometry(me)
returns Pnt from gp
is static;
---C++: return const&
Parameter(me: in out; E: Edge from TopoDS)
returns Real from Standard
raises DomainError from Standard
is static;
InitEdgeIterator(me: in out)
is static;
Edge(me)
returns Edge from TopoDS
is static;
---C++: return const&
NextEdge(me: in out)
raises NoMoreObject from Standard
is static;
MoreEdge(me)
returns Boolean from Standard
is static;
ChangeGeometry(me: in out)
returns Pnt from gp
is static;
---C++: return &
ChangeParameter(me: in out; E: Edge from TopoDS)
returns Real from Standard
is static;
---C++: return &
fields
myGeom : Pnt from gp;
myEdges : ListOfShape from TopTools;
myParams : ListOfReal from TColStd;
myItEd : ListIteratorOfListOfShape from TopTools;
end VertexInfo;

View File

@@ -14,16 +14,19 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <Draft_VertexInfo.ixx>
#include <Draft_VertexInfo.hxx>
#include <gp_Pnt.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_NoMoreObject.hxx>
#include <TColStd_ListIteratorOfListOfReal.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
//=======================================================================
//function : Draft_VertexInfo
//purpose :
//=======================================================================
Draft_VertexInfo::Draft_VertexInfo () {}

View File

@@ -0,0 +1,91 @@
// Created on: 1994-08-31
// Created by: Jacques GOUSSARD
// Copyright (c) 1994-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 _Draft_VertexInfo_HeaderFile
#define _Draft_VertexInfo_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <gp_Pnt.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TColStd_ListOfReal.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
class Standard_DomainError;
class Standard_NoMoreObject;
class TopoDS_Edge;
class gp_Pnt;
class Draft_VertexInfo
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT Draft_VertexInfo();
Standard_EXPORT void Add (const TopoDS_Edge& E);
Standard_EXPORT const gp_Pnt& Geometry() const;
Standard_EXPORT Standard_Real Parameter (const TopoDS_Edge& E);
Standard_EXPORT void InitEdgeIterator();
Standard_EXPORT const TopoDS_Edge& Edge() const;
Standard_EXPORT void NextEdge();
Standard_EXPORT Standard_Boolean MoreEdge() const;
Standard_EXPORT gp_Pnt& ChangeGeometry();
Standard_EXPORT Standard_Real& ChangeParameter (const TopoDS_Edge& E);
protected:
private:
gp_Pnt myGeom;
TopTools_ListOfShape myEdges;
TColStd_ListOfReal myParams;
TopTools_ListIteratorOfListOfShape myItEd;
};
#endif // _Draft_VertexInfo_HeaderFile

View File

@@ -1,7 +1,18 @@
Draft_Modification_1.cxx
Draft_DataMapOfFaceFaceInfo.hxx
Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx
Draft_DataMapOfEdgeEdgeInfo.hxx
Draft.cxx
Draft.hxx
Draft_DataMapIteratorOfDataMapOfEdgeEdgeInfo.hxx
Draft_DataMapOfVertexVertexInfo.hxx
Draft_DataMapIteratorOfDataMapOfFaceFaceInfo.hxx
Draft_DataMapIteratorOfDataMapOfVertexVertexInfo.hxx
Draft_DataMapOfEdgeEdgeInfo.hxx
Draft_DataMapOfFaceFaceInfo.hxx
Draft_DataMapOfVertexVertexInfo.hxx
Draft_EdgeInfo.cxx
Draft_EdgeInfo.hxx
Draft_ErrorStatus.hxx
Draft_FaceInfo.cxx
Draft_FaceInfo.hxx
Draft_Modification.cxx
Draft_Modification.hxx
Draft_Modification_1.cxx
Draft_VertexInfo.cxx
Draft_VertexInfo.hxx