mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,238 +0,0 @@
|
||||
-- Created on: 1992-08-28
|
||||
-- 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.
|
||||
|
||||
package BRepTools
|
||||
|
||||
---Level : Public.
|
||||
-- All methods of all classes will be public.
|
||||
|
||||
---Purpose: The BRepTools package provides utilities for BRep
|
||||
-- data structures.
|
||||
--
|
||||
-- * WireExplorer : A tool to explore the topology of
|
||||
-- a wire in the order of the edges.
|
||||
--
|
||||
-- * ShapeSet : Tools used for dumping, writing and
|
||||
-- reading.
|
||||
--
|
||||
-- * UVBounds : Methods to compute the limits of the
|
||||
-- boundary of a face, a wire or an edge in the
|
||||
-- parametric space of a face.
|
||||
--
|
||||
-- * Update : Methods to call when a topology has
|
||||
-- been created to compute all missing data.
|
||||
--
|
||||
-- * UpdateFaceUVPoints : Method to update the UV
|
||||
-- points stored with the edges on a face. This
|
||||
-- method ensure that connected edges have the same
|
||||
-- UV point on their common extremity.
|
||||
--
|
||||
-- * Compare : Method to compare two vertices.
|
||||
--
|
||||
-- * Compare : Method to compare two edges.
|
||||
--
|
||||
-- * OuterWire : A method to find the outer wire of a
|
||||
-- face.
|
||||
--
|
||||
-- * Map3DEdges : A method to map all the 3D Edges of
|
||||
-- a Shape.
|
||||
--
|
||||
-- * Dump : A method to dump a BRep object.
|
||||
--
|
||||
|
||||
uses
|
||||
BRep,
|
||||
TopExp,
|
||||
TopTools,
|
||||
TopoDS,
|
||||
TopAbs,
|
||||
TopLoc,
|
||||
GeomAbs,
|
||||
GeomTools,
|
||||
Geom,
|
||||
Geom2d,
|
||||
gp,
|
||||
Bnd,
|
||||
TColgp,
|
||||
TColStd,
|
||||
TCollection,
|
||||
MMgt,
|
||||
Message
|
||||
|
||||
is
|
||||
|
||||
class WireExplorer;
|
||||
|
||||
deferred class Modification;
|
||||
|
||||
class Modifier;
|
||||
|
||||
class TrsfModification;
|
||||
|
||||
class NurbsConvertModification;
|
||||
|
||||
class GTrsfModification;
|
||||
|
||||
class Substitution;
|
||||
|
||||
class Quilt;
|
||||
|
||||
class ShapeSet;
|
||||
|
||||
class ReShape;
|
||||
|
||||
imported MapOfVertexPnt2d;
|
||||
|
||||
imported DataMapIteratorOfMapOfVertexPnt2d;
|
||||
|
||||
--
|
||||
-- Methods
|
||||
--
|
||||
|
||||
UVBounds(F : Face from TopoDS;
|
||||
UMin, UMax, VMin, VMax : out Real);
|
||||
---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
|
||||
-- values in the parametric space of F.
|
||||
|
||||
UVBounds(F : Face from TopoDS;
|
||||
W : Wire from TopoDS;
|
||||
UMin, UMax, VMin, VMax : out Real);
|
||||
---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
|
||||
-- values of the wire in the parametric space of F.
|
||||
|
||||
UVBounds(F : Face from TopoDS;
|
||||
E : Edge from TopoDS;
|
||||
UMin, UMax, VMin, VMax : out Real);
|
||||
---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
|
||||
-- values of the edge in the parametric space of F.
|
||||
|
||||
AddUVBounds(F : Face from TopoDS;
|
||||
B : in out Box2d from Bnd);
|
||||
---Purpose: Adds to the box <B> the bounding values in the
|
||||
-- parametric space of F.
|
||||
|
||||
AddUVBounds(F : Face from TopoDS;
|
||||
W : Wire from TopoDS;
|
||||
B : in out Box2d from Bnd);
|
||||
---Purpose: Adds to the box <B> the bounding values of the
|
||||
-- wire in the parametric space of F.
|
||||
|
||||
AddUVBounds(F : Face from TopoDS;
|
||||
E : Edge from TopoDS;
|
||||
B : in out Box2d from Bnd);
|
||||
---Purpose: Adds to the box <B> the bounding values of the
|
||||
-- edge in the parametric space of F.
|
||||
|
||||
|
||||
Update(V : Vertex from TopoDS);
|
||||
---Purpose: Update a vertex (nothing is done)
|
||||
|
||||
Update(E : Edge from TopoDS);
|
||||
---Purpose: Update an edge, compute 2d bounding boxes.
|
||||
|
||||
Update(W : Wire from TopoDS);
|
||||
---Purpose: Update a wire (nothing is done)
|
||||
|
||||
Update(F : Face from TopoDS);
|
||||
---Purpose: Update a Face, update UV points.
|
||||
|
||||
Update(S : Shell from TopoDS);
|
||||
---Purpose: Update a shell (nothing is done)
|
||||
|
||||
Update(S : Solid from TopoDS);
|
||||
---Purpose: Update a solid (nothing is done)
|
||||
|
||||
Update(C : CompSolid from TopoDS);
|
||||
---Purpose: Update a composite solid (nothing is done)
|
||||
|
||||
Update(C : Compound from TopoDS);
|
||||
---Purpose: Update a compound (nothing is done)
|
||||
|
||||
Update(S : Shape from TopoDS);
|
||||
---Purpose: Update a shape, call the corect update.
|
||||
|
||||
|
||||
|
||||
UpdateFaceUVPoints(F : Face from TopoDS);
|
||||
---Purpose: For all the edges of the face <F> reset the UV
|
||||
-- points to ensure that connected faces have the
|
||||
-- same point at there common extremity.
|
||||
|
||||
Clean(S: Shape from TopoDS);
|
||||
---Purpose: Removes all the triangulations of the faces of <S>
|
||||
-- and removes all polygons on triangulations of the
|
||||
-- edges.
|
||||
|
||||
RemoveUnusedPCurves(S: Shape from TopoDS);
|
||||
---Purpose: Removes all the pcurves of the edges of <S> that
|
||||
-- refer to surfaces not belonging to any face of <S>
|
||||
|
||||
Triangulation(S: Shape from TopoDS; deflec: Real)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: verifies that each face from the shape <S> has got
|
||||
-- a triangulation with a deflection <= deflec and
|
||||
-- the edges a discretisation on this triangulation.
|
||||
|
||||
|
||||
Compare(V1,V2 : Vertex from TopoDS) returns Boolean;
|
||||
---Purpose: Returns True if the distance between the two
|
||||
-- vertices is lower than their tolerance.
|
||||
|
||||
Compare(E1,E2 : Edge from TopoDS) returns Boolean;
|
||||
---Purpose: Returns True if the distance between the two
|
||||
-- edges is lower than their tolerance.
|
||||
|
||||
OuterWire(F : Face from TopoDS) returns Wire from TopoDS;
|
||||
---Purpose: Returns the outer most wire of <F>. Returns a Null
|
||||
-- wire if <F> has no wires.
|
||||
|
||||
Map3DEdges(S : Shape from TopoDS;
|
||||
M : in out IndexedMapOfShape from TopTools);
|
||||
---Purpose: Stores in the map <M> all the 3D topology edges
|
||||
-- of <S>.
|
||||
|
||||
IsReallyClosed(E: Edge from TopoDS; F: Face from TopoDS)
|
||||
---Purpose: Verifies that the edge <E> is found two times on
|
||||
-- the face <F> before calling BRep_Tool::IsClosed.
|
||||
returns Boolean from Standard;
|
||||
|
||||
|
||||
Dump(Sh : Shape from TopoDS; S : in out OStream);
|
||||
---Purpose: Dumps the topological structure and the geometry
|
||||
-- of <Sh> on the stream <S>.
|
||||
|
||||
Write(Sh : Shape from TopoDS; S : in out OStream;
|
||||
PR : ProgressIndicator from Message = NULL);
|
||||
---Purpose: Writes <Sh> on <S> in an ASCII format.
|
||||
|
||||
Read(Sh : out Shape from TopoDS; S : in out IStream;
|
||||
B : Builder from BRep; PR : ProgressIndicator from Message = NULL);
|
||||
---Purpose: Reads a Shape from <S> in returns it in <Sh>.
|
||||
-- <B> is used to build the shape.
|
||||
|
||||
Write(Sh : Shape from TopoDS; File : CString;
|
||||
PR : ProgressIndicator from Message = NULL ) returns Boolean;
|
||||
---Purpose: Writes <Sh> in <File>.
|
||||
|
||||
Read(Sh : out Shape from TopoDS; File : CString;
|
||||
B : Builder from BRep; PR : ProgressIndicator from Message = NULL)
|
||||
returns Boolean;
|
||||
---Purpose: Reads a Shape from <File>, returns it in <Sh>.
|
||||
-- <B> is used to build the shape.
|
||||
|
||||
end BRepTools;
|
||||
|
||||
|
@@ -14,52 +14,60 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <Standard_Stream.hxx>
|
||||
|
||||
#include <BRepTools.ixx>
|
||||
#include <BRepTools_ShapeSet.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <Bnd_Box2d.hxx>
|
||||
#include <BndLib_Add2dCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <BRepTools_MapOfVertexPnt2d.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <TColgp_SequenceOfPnt2d.hxx>
|
||||
#include <TColStd_SequenceOfReal.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <TColGeom2d_SequenceOfCurve.hxx>
|
||||
#include <TopTools_SequenceOfShape.hxx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
#include <TColStd_MapOfTransient.hxx>
|
||||
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <BRepTools_MapOfVertexPnt2d.hxx>
|
||||
#include <BRepTools_ShapeSet.hxx>
|
||||
#include <ElCLib.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <gp_Vec2d.hxx>
|
||||
#include <Message_ProgressIndicator.hxx>
|
||||
#include <OSD_OpenFile.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#include <Standard_Failure.hxx>
|
||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <OSD_OpenFile.hxx>
|
||||
#include <Standard_Stream.hxx>
|
||||
#include <TColGeom2d_SequenceOfCurve.hxx>
|
||||
#include <TColgp_SequenceOfPnt2d.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
#include <TColStd_MapOfTransient.hxx>
|
||||
#include <TColStd_SequenceOfReal.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Compound.hxx>
|
||||
#include <TopoDS_CompSolid.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Solid.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopTools_SequenceOfShape.hxx>
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
//=======================================================================
|
||||
//function : UVBounds
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepTools::UVBounds(const TopoDS_Face& F,
|
||||
Standard_Real& UMin, Standard_Real& UMax,
|
||||
Standard_Real& VMin, Standard_Real& VMax)
|
||||
|
234
src/BRepTools/BRepTools.hxx
Normal file
234
src/BRepTools/BRepTools.hxx
Normal file
@@ -0,0 +1,234 @@
|
||||
// Created on: 1992-08-28
|
||||
// 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 _BRepTools_HeaderFile
|
||||
#define _BRepTools_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopTools_IndexedMapOfShape.hxx>
|
||||
#include <Standard_OStream.hxx>
|
||||
#include <Standard_IStream.hxx>
|
||||
#include <Standard_CString.hxx>
|
||||
class TopoDS_Face;
|
||||
class TopoDS_Wire;
|
||||
class TopoDS_Edge;
|
||||
class Bnd_Box2d;
|
||||
class TopoDS_Vertex;
|
||||
class TopoDS_Shell;
|
||||
class TopoDS_Solid;
|
||||
class TopoDS_CompSolid;
|
||||
class TopoDS_Compound;
|
||||
class TopoDS_Shape;
|
||||
class Message_ProgressIndicator;
|
||||
class BRep_Builder;
|
||||
class BRepTools_WireExplorer;
|
||||
class BRepTools_Modification;
|
||||
class BRepTools_Modifier;
|
||||
class BRepTools_TrsfModification;
|
||||
class BRepTools_NurbsConvertModification;
|
||||
class BRepTools_GTrsfModification;
|
||||
class BRepTools_Substitution;
|
||||
class BRepTools_Quilt;
|
||||
class BRepTools_ShapeSet;
|
||||
class BRepTools_ReShape;
|
||||
|
||||
|
||||
//! The BRepTools package provides utilities for BRep
|
||||
//! data structures.
|
||||
//!
|
||||
//! * WireExplorer : A tool to explore the topology of
|
||||
//! a wire in the order of the edges.
|
||||
//!
|
||||
//! * ShapeSet : Tools used for dumping, writing and
|
||||
//! reading.
|
||||
//!
|
||||
//! * UVBounds : Methods to compute the limits of the
|
||||
//! boundary of a face, a wire or an edge in the
|
||||
//! parametric space of a face.
|
||||
//!
|
||||
//! * Update : Methods to call when a topology has
|
||||
//! been created to compute all missing data.
|
||||
//!
|
||||
//! * UpdateFaceUVPoints : Method to update the UV
|
||||
//! points stored with the edges on a face. This
|
||||
//! method ensure that connected edges have the same
|
||||
//! UV point on their common extremity.
|
||||
//!
|
||||
//! * Compare : Method to compare two vertices.
|
||||
//!
|
||||
//! * Compare : Method to compare two edges.
|
||||
//!
|
||||
//! * OuterWire : A method to find the outer wire of a
|
||||
//! face.
|
||||
//!
|
||||
//! * Map3DEdges : A method to map all the 3D Edges of
|
||||
//! a Shape.
|
||||
//!
|
||||
//! * Dump : A method to dump a BRep object.
|
||||
class BRepTools
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Returns in UMin, UMax, VMin, VMax the bounding
|
||||
//! values in the parametric space of F.
|
||||
Standard_EXPORT static void UVBounds (const TopoDS_Face& F, Standard_Real& UMin, Standard_Real& UMax, Standard_Real& VMin, Standard_Real& VMax);
|
||||
|
||||
//! Returns in UMin, UMax, VMin, VMax the bounding
|
||||
//! values of the wire in the parametric space of F.
|
||||
Standard_EXPORT static void UVBounds (const TopoDS_Face& F, const TopoDS_Wire& W, Standard_Real& UMin, Standard_Real& UMax, Standard_Real& VMin, Standard_Real& VMax);
|
||||
|
||||
//! Returns in UMin, UMax, VMin, VMax the bounding
|
||||
//! values of the edge in the parametric space of F.
|
||||
Standard_EXPORT static void UVBounds (const TopoDS_Face& F, const TopoDS_Edge& E, Standard_Real& UMin, Standard_Real& UMax, Standard_Real& VMin, Standard_Real& VMax);
|
||||
|
||||
//! Adds to the box <B> the bounding values in the
|
||||
//! parametric space of F.
|
||||
Standard_EXPORT static void AddUVBounds (const TopoDS_Face& F, Bnd_Box2d& B);
|
||||
|
||||
//! Adds to the box <B> the bounding values of the
|
||||
//! wire in the parametric space of F.
|
||||
Standard_EXPORT static void AddUVBounds (const TopoDS_Face& F, const TopoDS_Wire& W, Bnd_Box2d& B);
|
||||
|
||||
//! Adds to the box <B> the bounding values of the
|
||||
//! edge in the parametric space of F.
|
||||
Standard_EXPORT static void AddUVBounds (const TopoDS_Face& F, const TopoDS_Edge& E, Bnd_Box2d& B);
|
||||
|
||||
//! Update a vertex (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_Vertex& V);
|
||||
|
||||
//! Update an edge, compute 2d bounding boxes.
|
||||
Standard_EXPORT static void Update (const TopoDS_Edge& E);
|
||||
|
||||
//! Update a wire (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_Wire& W);
|
||||
|
||||
//! Update a Face, update UV points.
|
||||
Standard_EXPORT static void Update (const TopoDS_Face& F);
|
||||
|
||||
//! Update a shell (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_Shell& S);
|
||||
|
||||
//! Update a solid (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_Solid& S);
|
||||
|
||||
//! Update a composite solid (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_CompSolid& C);
|
||||
|
||||
//! Update a compound (nothing is done)
|
||||
Standard_EXPORT static void Update (const TopoDS_Compound& C);
|
||||
|
||||
//! Update a shape, call the corect update.
|
||||
Standard_EXPORT static void Update (const TopoDS_Shape& S);
|
||||
|
||||
//! For all the edges of the face <F> reset the UV
|
||||
//! points to ensure that connected faces have the
|
||||
//! same point at there common extremity.
|
||||
Standard_EXPORT static void UpdateFaceUVPoints (const TopoDS_Face& F);
|
||||
|
||||
//! Removes all the triangulations of the faces of <S>
|
||||
//! and removes all polygons on triangulations of the
|
||||
//! edges.
|
||||
Standard_EXPORT static void Clean (const TopoDS_Shape& S);
|
||||
|
||||
//! Removes all the pcurves of the edges of <S> that
|
||||
//! refer to surfaces not belonging to any face of <S>
|
||||
Standard_EXPORT static void RemoveUnusedPCurves (const TopoDS_Shape& S);
|
||||
|
||||
//! verifies that each face from the shape <S> has got
|
||||
//! a triangulation with a deflection <= deflec and
|
||||
//! the edges a discretisation on this triangulation.
|
||||
Standard_EXPORT static Standard_Boolean Triangulation (const TopoDS_Shape& S, const Standard_Real deflec);
|
||||
|
||||
//! Returns True if the distance between the two
|
||||
//! vertices is lower than their tolerance.
|
||||
Standard_EXPORT static Standard_Boolean Compare (const TopoDS_Vertex& V1, const TopoDS_Vertex& V2);
|
||||
|
||||
//! Returns True if the distance between the two
|
||||
//! edges is lower than their tolerance.
|
||||
Standard_EXPORT static Standard_Boolean Compare (const TopoDS_Edge& E1, const TopoDS_Edge& E2);
|
||||
|
||||
//! Returns the outer most wire of <F>. Returns a Null
|
||||
//! wire if <F> has no wires.
|
||||
Standard_EXPORT static TopoDS_Wire OuterWire (const TopoDS_Face& F);
|
||||
|
||||
//! Stores in the map <M> all the 3D topology edges
|
||||
//! of <S>.
|
||||
Standard_EXPORT static void Map3DEdges (const TopoDS_Shape& S, TopTools_IndexedMapOfShape& M);
|
||||
|
||||
//! Verifies that the edge <E> is found two times on
|
||||
//! the face <F> before calling BRep_Tool::IsClosed.
|
||||
Standard_EXPORT static Standard_Boolean IsReallyClosed (const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
//! Dumps the topological structure and the geometry
|
||||
//! of <Sh> on the stream <S>.
|
||||
Standard_EXPORT static void Dump (const TopoDS_Shape& Sh, Standard_OStream& S);
|
||||
|
||||
//! Writes <Sh> on <S> in an ASCII format.
|
||||
Standard_EXPORT static void Write (const TopoDS_Shape& Sh, Standard_OStream& S, const Handle(Message_ProgressIndicator)& PR = NULL);
|
||||
|
||||
//! Reads a Shape from <S> in returns it in <Sh>.
|
||||
//! <B> is used to build the shape.
|
||||
Standard_EXPORT static void Read (TopoDS_Shape& Sh, Standard_IStream& S, const BRep_Builder& B, const Handle(Message_ProgressIndicator)& PR = NULL);
|
||||
|
||||
//! Writes <Sh> in <File>.
|
||||
Standard_EXPORT static Standard_Boolean Write (const TopoDS_Shape& Sh, const Standard_CString File, const Handle(Message_ProgressIndicator)& PR = NULL);
|
||||
|
||||
//! Reads a Shape from <File>, returns it in <Sh>.
|
||||
//! <B> is used to build the shape.
|
||||
Standard_EXPORT static Standard_Boolean Read (TopoDS_Shape& Sh, const Standard_CString File, const BRep_Builder& B, const Handle(Message_ProgressIndicator)& PR = NULL);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
friend class BRepTools_WireExplorer;
|
||||
friend class BRepTools_Modification;
|
||||
friend class BRepTools_Modifier;
|
||||
friend class BRepTools_TrsfModification;
|
||||
friend class BRepTools_NurbsConvertModification;
|
||||
friend class BRepTools_GTrsfModification;
|
||||
friend class BRepTools_Substitution;
|
||||
friend class BRepTools_Quilt;
|
||||
friend class BRepTools_ShapeSet;
|
||||
friend class BRepTools_ReShape;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_HeaderFile
|
@@ -1,160 +0,0 @@
|
||||
-- Created on: 1996-12-30
|
||||
-- Created by: Stagiaire Mary FABIEN
|
||||
-- Copyright (c) 1996-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 GTrsfModification from BRepTools inherits Modification from BRepTools
|
||||
|
||||
---Purpose: Defines a modification of the geometry by a GTrsf
|
||||
-- from gp. All methods return True and transform the
|
||||
-- geometry.
|
||||
|
||||
uses Face from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Location from TopLoc,
|
||||
Shape from GeomAbs,
|
||||
|
||||
Surface from Geom,
|
||||
Curve from Geom,
|
||||
Curve from Geom2d,
|
||||
|
||||
GTrsf from gp,
|
||||
Pnt from gp
|
||||
|
||||
is
|
||||
|
||||
Create (T : GTrsf from gp) returns GTrsfModification from BRepTools;
|
||||
|
||||
GTrsf(me: mutable)
|
||||
---Purpose: Gives an access on the GTrsf.
|
||||
---C++: return &
|
||||
returns GTrsf from gp
|
||||
is static;
|
||||
|
||||
|
||||
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, <RevFace> will return Standard_True if the
|
||||
-- -- gp_Trsf is negative.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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>).
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myGTrsf : GTrsf from gp;
|
||||
myGScale: Real;
|
||||
|
||||
end GTrsfModification;
|
@@ -14,34 +14,39 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_GTrsfModification.ixx>
|
||||
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools_GTrsfModification.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BSplineCurve.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_XYZ.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
|
||||
#include <gp.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <gp.hxx>
|
||||
#include <gp_GTrsf.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
#include <gp_XYZ.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepTools_GTrsfModification
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRepTools_GTrsfModification::BRepTools_GTrsfModification(const gp_GTrsf& T) :
|
||||
myGTrsf(T)
|
||||
{
|
||||
|
132
src/BRepTools/BRepTools_GTrsfModification.hxx
Normal file
132
src/BRepTools/BRepTools_GTrsfModification.hxx
Normal file
@@ -0,0 +1,132 @@
|
||||
// Created on: 1996-12-30
|
||||
// Created by: Stagiaire Mary FABIEN
|
||||
// Copyright (c) 1996-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 _BRepTools_GTrsfModification_HeaderFile
|
||||
#define _BRepTools_GTrsfModification_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <gp_GTrsf.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <BRepTools_Modification.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class gp_GTrsf;
|
||||
class TopoDS_Face;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class TopoDS_Vertex;
|
||||
class gp_Pnt;
|
||||
class Geom2d_Curve;
|
||||
|
||||
|
||||
class BRepTools_GTrsfModification;
|
||||
DEFINE_STANDARD_HANDLE(BRepTools_GTrsfModification, BRepTools_Modification)
|
||||
|
||||
//! Defines a modification of the geometry by a GTrsf
|
||||
//! from gp. All methods return True and transform the
|
||||
//! geometry.
|
||||
class BRepTools_GTrsfModification : public BRepTools_Modification
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRepTools_GTrsfModification(const gp_GTrsf& T);
|
||||
|
||||
//! Gives an access on the GTrsf.
|
||||
Standard_EXPORT gp_GTrsf& GTrsf();
|
||||
|
||||
//! 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, <RevFace> will return Standard_True if the
|
||||
//! -- gp_Trsf is negative.
|
||||
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.
|
||||
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(BRepTools_GTrsfModification,BRepTools_Modification)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
gp_GTrsf myGTrsf;
|
||||
Standard_Real myGScale;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_GTrsfModification_HeaderFile
|
@@ -1,160 +0,0 @@
|
||||
-- Created on: 1994-08-25
|
||||
-- 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.
|
||||
|
||||
deferred class Modification from BRepTools
|
||||
|
||||
---Purpose: Defines geometric modifications to a shape, i.e.
|
||||
-- changes to faces, edges and vertices.
|
||||
|
||||
inherits TShared from MMgt
|
||||
|
||||
uses Face from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Location from TopLoc,
|
||||
|
||||
Shape from GeomAbs,
|
||||
|
||||
Surface from Geom,
|
||||
Curve from Geom,
|
||||
Curve from Geom2d,
|
||||
Pnt from gp
|
||||
|
||||
|
||||
is
|
||||
|
||||
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 true if the face, F, has been modified.
|
||||
-- If the face has been modified:
|
||||
-- - S is the new geometry of the face,
|
||||
-- - L is its new location, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- The flag, RevWires, is set to true when the
|
||||
-- modification reverses the normal of the surface, (i.e.
|
||||
-- the wires have to be reversed).
|
||||
-- The flag, RevFace, is set to true if the orientation of
|
||||
-- the modified face changes in the shells which contain it.
|
||||
-- If the face has not been modified this function returns
|
||||
-- false, and the values of S, L, Tol, RevWires and
|
||||
-- RevFace are not significant.
|
||||
|
||||
returns Boolean from Standard
|
||||
is deferred;
|
||||
|
||||
|
||||
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 true if the edge, E, has been modified.
|
||||
-- If the edge has been modified:
|
||||
-- - C is the new geometry associated with the edge,
|
||||
-- - L is its new location, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If the edge has not been modified, this function
|
||||
-- returns false, and the values of C, L and Tol are not significant.
|
||||
|
||||
is deferred;
|
||||
|
||||
|
||||
|
||||
NewPoint(me: mutable; V : Vertex from TopoDS;
|
||||
P : out Pnt from gp;
|
||||
Tol: out Real from Standard)
|
||||
|
||||
returns Boolean from Standard
|
||||
|
||||
---Purpose: Returns true if the vertex V has been modified.
|
||||
-- If V has been modified:
|
||||
-- - P is the new geometry of the vertex, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If the vertex has not been modified this function
|
||||
-- returns false, and the values of P and Tol are not significant.
|
||||
|
||||
is deferred;
|
||||
|
||||
|
||||
|
||||
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 true if the edge, E, has a new curve on
|
||||
-- surface on the face, F.
|
||||
-- If a new curve exists:
|
||||
-- - C is the new geometry of the edge,
|
||||
-- - L is the new location, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- NewE is the new edge created from E, and NewF is
|
||||
-- the new face created from F.
|
||||
-- If there is no new curve on the face, this function
|
||||
-- returns false, and the values of C, L and Tol are not significant.
|
||||
|
||||
is deferred;
|
||||
|
||||
|
||||
|
||||
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 true if the vertex V has a new parameter on the edge E.
|
||||
-- If a new parameter exists:
|
||||
-- - P is the parameter, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If there is no new parameter this function returns
|
||||
-- false, and the values of P and Tol are not significant.
|
||||
|
||||
is deferred;
|
||||
|
||||
|
||||
|
||||
|
||||
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>).
|
||||
|
||||
is deferred;
|
||||
|
||||
end Modification;
|
||||
|
||||
|
@@ -14,6 +14,14 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_Modification.ixx>
|
||||
|
||||
|
||||
#include <BRepTools_Modification.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
130
src/BRepTools/BRepTools_Modification.hxx
Normal file
130
src/BRepTools/BRepTools_Modification.hxx
Normal file
@@ -0,0 +1,130 @@
|
||||
// Created on: 1994-08-25
|
||||
// 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 _BRepTools_Modification_HeaderFile
|
||||
#define _BRepTools_Modification_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class TopoDS_Face;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class TopoDS_Vertex;
|
||||
class gp_Pnt;
|
||||
class Geom2d_Curve;
|
||||
|
||||
|
||||
class BRepTools_Modification;
|
||||
DEFINE_STANDARD_HANDLE(BRepTools_Modification, MMgt_TShared)
|
||||
|
||||
//! Defines geometric modifications to a shape, i.e.
|
||||
//! changes to faces, edges and vertices.
|
||||
class BRepTools_Modification : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Returns true if the face, F, has been modified.
|
||||
//! If the face has been modified:
|
||||
//! - S is the new geometry of the face,
|
||||
//! - L is its new location, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! The flag, RevWires, is set to true when the
|
||||
//! modification reverses the normal of the surface, (i.e.
|
||||
//! the wires have to be reversed).
|
||||
//! The flag, RevFace, is set to true if the orientation of
|
||||
//! the modified face changes in the shells which contain it.
|
||||
//! If the face has not been modified this function returns
|
||||
//! false, and the values of S, L, Tol, RevWires and
|
||||
//! RevFace are not significant.
|
||||
Standard_EXPORT virtual Standard_Boolean NewSurface (const TopoDS_Face& F, Handle(Geom_Surface)& S, TopLoc_Location& L, Standard_Real& Tol, Standard_Boolean& RevWires, Standard_Boolean& RevFace) = 0;
|
||||
|
||||
//! Returns true if the edge, E, has been modified.
|
||||
//! If the edge has been modified:
|
||||
//! - C is the new geometry associated with the edge,
|
||||
//! - L is its new location, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If the edge has not been modified, this function
|
||||
//! returns false, and the values of C, L and Tol are not significant.
|
||||
Standard_EXPORT virtual Standard_Boolean NewCurve (const TopoDS_Edge& E, Handle(Geom_Curve)& C, TopLoc_Location& L, Standard_Real& Tol) = 0;
|
||||
|
||||
//! Returns true if the vertex V has been modified.
|
||||
//! If V has been modified:
|
||||
//! - P is the new geometry of the vertex, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If the vertex has not been modified this function
|
||||
//! returns false, and the values of P and Tol are not significant.
|
||||
Standard_EXPORT virtual Standard_Boolean NewPoint (const TopoDS_Vertex& V, gp_Pnt& P, Standard_Real& Tol) = 0;
|
||||
|
||||
//! Returns true if the edge, E, has a new curve on
|
||||
//! surface on the face, F.
|
||||
//! If a new curve exists:
|
||||
//! - C is the new geometry of the edge,
|
||||
//! - L is the new location, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! NewE is the new edge created from E, and NewF is
|
||||
//! the new face created from F.
|
||||
//! If there is no new curve on the face, this function
|
||||
//! returns false, and the values of C, L and Tol are not significant.
|
||||
Standard_EXPORT virtual 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) = 0;
|
||||
|
||||
//! Returns true if the vertex V has a new parameter on the edge E.
|
||||
//! If a new parameter exists:
|
||||
//! - P is the parameter, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If there is no new parameter this function returns
|
||||
//! false, and the values of P and Tol are not significant.
|
||||
Standard_EXPORT virtual Standard_Boolean NewParameter (const TopoDS_Vertex& V, const TopoDS_Edge& E, Standard_Real& P, Standard_Real& Tol) = 0;
|
||||
|
||||
//! 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 virtual 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) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRepTools_Modification,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_Modification_HeaderFile
|
@@ -1,97 +0,0 @@
|
||||
-- Created on: 1994-08-25
|
||||
-- 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 Modifier from BRepTools
|
||||
|
||||
---Purpose: Performs geometric modifications on a shape.
|
||||
|
||||
uses Shape from TopoDS,
|
||||
Modification from BRepTools,
|
||||
DataMapOfShapeShape from TopTools,
|
||||
ProgressIndicator from Message
|
||||
|
||||
raises NullObject from Standard,
|
||||
NoSuchObject from Standard
|
||||
|
||||
is
|
||||
|
||||
Create returns Modifier from BRepTools;
|
||||
---Purpose: Creates an empty Modifier.
|
||||
|
||||
|
||||
Create(S: Shape from TopoDS)
|
||||
returns Modifier from BRepTools;
|
||||
---Purpose: Creates a modifier on the shape <S>.
|
||||
|
||||
|
||||
Create(S: Shape from TopoDS; M: Modification from BRepTools)
|
||||
returns Modifier from BRepTools;
|
||||
---Purpose: Creates a modifier on the shape <S>, and performs
|
||||
-- the modifications described by <M>.
|
||||
|
||||
|
||||
Init(me: in out; S: Shape from TopoDS)
|
||||
is static;
|
||||
---Purpose: Initializes the modifier with the shape <S>.
|
||||
|
||||
|
||||
Perform(me: in out; M: Modification from BRepTools; aProgress: ProgressIndicator from Message = NULL)
|
||||
---Purpose: Performs the modifications described by <M>.
|
||||
raises NullObject from Standard
|
||||
-- if the modifier has not been initialized with a shape.
|
||||
is static;
|
||||
|
||||
IsDone(me)
|
||||
|
||||
---Purpose: Returns Standard_True if the modification has
|
||||
-- been computed successfully.
|
||||
--
|
||||
---C++: inline
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
|
||||
ModifiedShape(me; S: Shape from TopoDS)
|
||||
returns Shape from TopoDS
|
||||
---Purpose: Returns the modified shape corresponding to <S>.
|
||||
---C++: return const&
|
||||
---C++: inline
|
||||
raises NoSuchObject from Standard
|
||||
-- if S is not the initial shape or a sub-shape
|
||||
-- of the initial shape.
|
||||
|
||||
is static;
|
||||
|
||||
|
||||
-- private implementation methods
|
||||
|
||||
Put(me: in out; S: Shape from TopoDS)
|
||||
|
||||
is static private;
|
||||
|
||||
|
||||
Rebuild(me: in out; S: Shape from TopoDS; M: Modification from BRepTools; aProgress: ProgressIndicator from Message = NULL)
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myMap : DataMapOfShapeShape from TopTools;
|
||||
myShape: Shape from TopoDS;
|
||||
myDone : Boolean from Standard;
|
||||
|
||||
end Modifier;
|
@@ -16,20 +16,23 @@
|
||||
|
||||
// IFV 04.06.99 - PRO18974 - processing of INTERNAL shapes.
|
||||
|
||||
#include <BRepTools_Modifier.ixx>
|
||||
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <BRepTools_Modification.hxx>
|
||||
#include <BRepTools_Modifier.hxx>
|
||||
#include <Message_ProgressIndicator.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <Standard_NullObject.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfTransient.hxx>
|
||||
#include <TColStd_ListOfTransient.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
|
||||
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
#include <TColStd_ListOfTransient.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfTransient.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
|
||||
#if 0
|
||||
#include <Poly_Triangulation.hxx>
|
||||
|
96
src/BRepTools/BRepTools_Modifier.hxx
Normal file
96
src/BRepTools/BRepTools_Modifier.hxx
Normal file
@@ -0,0 +1,96 @@
|
||||
// Created on: 1994-08-25
|
||||
// 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 _BRepTools_Modifier_HeaderFile
|
||||
#define _BRepTools_Modifier_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Standard_NullObject;
|
||||
class Standard_NoSuchObject;
|
||||
class TopoDS_Shape;
|
||||
class BRepTools_Modification;
|
||||
class Message_ProgressIndicator;
|
||||
|
||||
|
||||
//! Performs geometric modifications on a shape.
|
||||
class BRepTools_Modifier
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Creates an empty Modifier.
|
||||
Standard_EXPORT BRepTools_Modifier();
|
||||
|
||||
//! Creates a modifier on the shape <S>.
|
||||
Standard_EXPORT BRepTools_Modifier(const TopoDS_Shape& S);
|
||||
|
||||
//! Creates a modifier on the shape <S>, and performs
|
||||
//! the modifications described by <M>.
|
||||
Standard_EXPORT BRepTools_Modifier(const TopoDS_Shape& S, const Handle(BRepTools_Modification)& M);
|
||||
|
||||
//! Initializes the modifier with the shape <S>.
|
||||
Standard_EXPORT void Init (const TopoDS_Shape& S);
|
||||
|
||||
//! Performs the modifications described by <M>.
|
||||
Standard_EXPORT void Perform (const Handle(BRepTools_Modification)& M, const Handle(Message_ProgressIndicator)& aProgress = NULL);
|
||||
|
||||
//! Returns Standard_True if the modification has
|
||||
//! been computed successfully.
|
||||
Standard_Boolean IsDone() const;
|
||||
|
||||
//! Returns the modified shape corresponding to <S>.
|
||||
const TopoDS_Shape& ModifiedShape (const TopoDS_Shape& S) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_EXPORT void Put (const TopoDS_Shape& S);
|
||||
|
||||
Standard_EXPORT Standard_Boolean Rebuild (const TopoDS_Shape& S, const Handle(BRepTools_Modification)& M, const Handle(Message_ProgressIndicator)& aProgress = NULL);
|
||||
|
||||
|
||||
TopTools_DataMapOfShapeShape myMap;
|
||||
TopoDS_Shape myShape;
|
||||
Standard_Boolean myDone;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRepTools_Modifier.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_Modifier_HeaderFile
|
@@ -1,157 +0,0 @@
|
||||
-- Created on: 1996-07-12
|
||||
-- Created by: Stagiaire Mary FABIEN
|
||||
-- Copyright (c) 1996-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 NurbsConvertModification from BRepTools inherits Modification from BRepTools
|
||||
|
||||
---Purpose: Defines a modification of the geometry by a Trsf
|
||||
-- from gp. All methods return True and transform the
|
||||
-- geometry.
|
||||
|
||||
uses Face from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Location from TopLoc,
|
||||
Shape from GeomAbs,
|
||||
Pnt from gp,
|
||||
|
||||
Surface from Geom,
|
||||
Curve from Geom,
|
||||
Curve from Geom2d,
|
||||
MapOfTransient from TColStd,
|
||||
ListOfShape from TopTools,
|
||||
ListOfTransient from TColStd,
|
||||
IndexedDataMapOfTransientTransient from TColStd
|
||||
|
||||
is
|
||||
|
||||
Create returns NurbsConvertModification from BRepTools;
|
||||
|
||||
|
||||
|
||||
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, <RevFace> will return Standard_True if the
|
||||
-- -- gp_Trsf is negative.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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>).
|
||||
|
||||
;
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myled : ListOfShape from TopTools;
|
||||
mylcu : ListOfTransient from TColStd;
|
||||
myMap : IndexedDataMapOfTransientTransient from TColStd;
|
||||
|
||||
end NurbsConvertModification;
|
@@ -14,56 +14,59 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_NurbsConvertModification.ixx>
|
||||
|
||||
#include <BRepTools.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_BSplineCurve.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom2d_BSplineCurve.hxx>
|
||||
#include <GeomConvert.hxx>
|
||||
#include <Geom2dConvert.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
|
||||
#include <BSplCLib.hxx>
|
||||
#include <Approx_SameParameter.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <Extrema_LocateExtPC.hxx>
|
||||
#include <OSD_Chronometer.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfTransient.hxx>
|
||||
#include <ProjLib_ComputeApprox.hxx>
|
||||
#include <ProjLib_ComputeApproxOnPolarSurface.hxx>
|
||||
#include <ElSLib.hxx>
|
||||
#include <BSplCLib.hxx>
|
||||
#include <Geom_Circle.hxx>
|
||||
#include <Geom_Ellipse.hxx>
|
||||
#include <Geom_CylindricalSurface.hxx>
|
||||
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <BRepTools_NurbsConvertModification.hxx>
|
||||
#include <BSplCLib.hxx>
|
||||
#include <ElSLib.hxx>
|
||||
#include <Extrema_LocateExtPC.hxx>
|
||||
#include <Geom2d_BezierCurve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom2d_BSplineCurve.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Geom2dAdaptor_HCurve.hxx>
|
||||
#include <Geom2dConvert.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BSplineCurve.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Circle.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_CylindricalSurface.hxx>
|
||||
#include <Geom_Ellipse.hxx>
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <GeomAdaptor_HCurve.hxx>
|
||||
#include <GeomAdaptor_HSurface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomConvert.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
#include <OSD_Chronometer.hxx>
|
||||
#include <ProjLib_ComputeApprox.hxx>
|
||||
#include <ProjLib_ComputeApproxOnPolarSurface.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfTransient.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
|
||||
static void GeomLib_ChangeUBounds(Handle(Geom_BSplineSurface)& aSurface,
|
||||
const Standard_Real newU1,
|
||||
|
131
src/BRepTools/BRepTools_NurbsConvertModification.hxx
Normal file
131
src/BRepTools/BRepTools_NurbsConvertModification.hxx
Normal file
@@ -0,0 +1,131 @@
|
||||
// Created on: 1996-07-12
|
||||
// Created by: Stagiaire Mary FABIEN
|
||||
// Copyright (c) 1996-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 _BRepTools_NurbsConvertModification_HeaderFile
|
||||
#define _BRepTools_NurbsConvertModification_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TColStd_ListOfTransient.hxx>
|
||||
#include <TColStd_IndexedDataMapOfTransientTransient.hxx>
|
||||
#include <BRepTools_Modification.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class TopoDS_Face;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class TopoDS_Vertex;
|
||||
class gp_Pnt;
|
||||
class Geom2d_Curve;
|
||||
|
||||
|
||||
class BRepTools_NurbsConvertModification;
|
||||
DEFINE_STANDARD_HANDLE(BRepTools_NurbsConvertModification, BRepTools_Modification)
|
||||
|
||||
//! Defines a modification of the geometry by a Trsf
|
||||
//! from gp. All methods return True and transform the
|
||||
//! geometry.
|
||||
class BRepTools_NurbsConvertModification : public BRepTools_Modification
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRepTools_NurbsConvertModification();
|
||||
|
||||
//! 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, <RevFace> will return Standard_True if the
|
||||
//! -- gp_Trsf is negative.
|
||||
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.
|
||||
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(BRepTools_NurbsConvertModification,BRepTools_Modification)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
TopTools_ListOfShape myled;
|
||||
TColStd_ListOfTransient mylcu;
|
||||
TColStd_IndexedDataMapOfTransientTransient myMap;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_NurbsConvertModification_HeaderFile
|
@@ -1,110 +0,0 @@
|
||||
-- Created on: 1994-12-22
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- 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 Quilt from BRepTools
|
||||
|
||||
---Purpose: A Tool to glue faces at common edges and
|
||||
-- reconstruct shells.
|
||||
--
|
||||
-- The user designate pairs of common edges using the
|
||||
-- method Bind. One edge is designated as the edge to
|
||||
-- use in place of the other one (they are supposed
|
||||
-- to be geometrically confused, but this not
|
||||
-- checked). They can be of opposite directions, this
|
||||
-- is specified by the orientations.
|
||||
--
|
||||
-- The user can add shapes with the Add method, all
|
||||
-- the faces are registred and copies of faces and
|
||||
-- edges are made to glue at the bound edges.
|
||||
--
|
||||
-- The user can call the Shells methods to compute a
|
||||
-- compound of shells from the current set of faces.
|
||||
--
|
||||
-- If no binding is made this class can be used to
|
||||
-- make shell from faces already sharing their edges.
|
||||
|
||||
uses
|
||||
|
||||
Vertex from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Shape from TopoDS,
|
||||
DataMapOfShapeShape from TopTools,
|
||||
IndexedDataMapOfShapeShape from TopTools
|
||||
raises
|
||||
|
||||
NoSuchObject from Standard
|
||||
|
||||
is
|
||||
|
||||
Create returns Quilt from BRepTools;
|
||||
|
||||
Bind(me : in out; Eold, Enew : Edge from TopoDS)
|
||||
---Purpose: Binds <Enew> to be the new edge instead of
|
||||
-- <Eold>.
|
||||
--
|
||||
-- The faces of the added shape containing <Eold>
|
||||
-- will be copied to substitute <Eold> by <Enew>.
|
||||
--
|
||||
-- The vertices of <Eold> will be bound to the
|
||||
-- vertices of <Enew> with the same orientation.
|
||||
--
|
||||
-- If <Eold> and <Enew> have different orientations
|
||||
-- the curves are considered to be opposite and the
|
||||
-- pcurves of <Eold> will be copied and reversed in
|
||||
-- the new faces.
|
||||
--
|
||||
-- <Eold> must belong to the next added shape, <Enew> must belong
|
||||
-- to a Shape added before.
|
||||
is static;
|
||||
|
||||
Bind(me : in out; Vold, Vnew : Vertex from TopoDS)
|
||||
---Purpose: Binds <VNew> to be a new vertex instead of <Vold>.
|
||||
--
|
||||
-- The faces of the added shape containing <Vold>
|
||||
-- will be copied to substitute <Vold> by <Vnew>.
|
||||
is static;
|
||||
|
||||
Add(me : in out; S : Shape from TopoDS)
|
||||
---Purpose: Add the faces of <S> to the Quilt, the faces
|
||||
-- containing bounded edges are copied.
|
||||
is static;
|
||||
|
||||
|
||||
IsCopied(me; S : Shape from TopoDS) returns Boolean
|
||||
---Purpose: Returns True if <S> has been copied (<S> is a
|
||||
-- vertex, an edge or a face)
|
||||
is static;
|
||||
|
||||
Copy(me; S : Shape from TopoDS) returns Shape from TopoDS
|
||||
---Purpose: Returns the shape substitued to <S> in the Quilt.
|
||||
--
|
||||
---C++: return const &
|
||||
raises
|
||||
NoSuchObject from Standard -- if ! IsCopied(S)
|
||||
is static;
|
||||
|
||||
Shells(me) returns Shape from TopoDS
|
||||
---Purpose: Returns a Compound of shells made from the current
|
||||
-- set of faces. The shells will be flagged as closed
|
||||
-- or not closed.
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
myBounds : IndexedDataMapOfShapeShape from TopTools;
|
||||
hasCopy : Boolean; -- True if at least one copy was made
|
||||
|
||||
end Quilt;
|
@@ -14,35 +14,33 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_Quilt.ixx>
|
||||
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Compound.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
|
||||
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
|
||||
#include <Geom2d_Curve.hxx>
|
||||
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
#include <BRepTools_Quilt.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Compound.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopTools_MapIteratorOfMapOfShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
|
||||
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||
#include <TopTools_IndexedDataMapOfShapeShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopTools_MapIteratorOfMapOfShape.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepTools_Quilt
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRepTools_Quilt::BRepTools_Quilt() : hasCopy(Standard_False)
|
||||
{
|
||||
}
|
||||
|
125
src/BRepTools/BRepTools_Quilt.hxx
Normal file
125
src/BRepTools/BRepTools_Quilt.hxx
Normal file
@@ -0,0 +1,125 @@
|
||||
// Created on: 1994-12-22
|
||||
// Created by: Remi LEQUETTE
|
||||
// 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 _BRepTools_Quilt_HeaderFile
|
||||
#define _BRepTools_Quilt_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopTools_IndexedDataMapOfShapeShape.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Standard_NoSuchObject;
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Vertex;
|
||||
class TopoDS_Shape;
|
||||
|
||||
|
||||
//! A Tool to glue faces at common edges and
|
||||
//! reconstruct shells.
|
||||
//!
|
||||
//! The user designate pairs of common edges using the
|
||||
//! method Bind. One edge is designated as the edge to
|
||||
//! use in place of the other one (they are supposed
|
||||
//! to be geometrically confused, but this not
|
||||
//! checked). They can be of opposite directions, this
|
||||
//! is specified by the orientations.
|
||||
//!
|
||||
//! The user can add shapes with the Add method, all
|
||||
//! the faces are registred and copies of faces and
|
||||
//! edges are made to glue at the bound edges.
|
||||
//!
|
||||
//! The user can call the Shells methods to compute a
|
||||
//! compound of shells from the current set of faces.
|
||||
//!
|
||||
//! If no binding is made this class can be used to
|
||||
//! make shell from faces already sharing their edges.
|
||||
class BRepTools_Quilt
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepTools_Quilt();
|
||||
|
||||
//! Binds <Enew> to be the new edge instead of
|
||||
//! <Eold>.
|
||||
//!
|
||||
//! The faces of the added shape containing <Eold>
|
||||
//! will be copied to substitute <Eold> by <Enew>.
|
||||
//!
|
||||
//! The vertices of <Eold> will be bound to the
|
||||
//! vertices of <Enew> with the same orientation.
|
||||
//!
|
||||
//! If <Eold> and <Enew> have different orientations
|
||||
//! the curves are considered to be opposite and the
|
||||
//! pcurves of <Eold> will be copied and reversed in
|
||||
//! the new faces.
|
||||
//!
|
||||
//! <Eold> must belong to the next added shape, <Enew> must belong
|
||||
//! to a Shape added before.
|
||||
Standard_EXPORT void Bind (const TopoDS_Edge& Eold, const TopoDS_Edge& Enew);
|
||||
|
||||
//! Binds <VNew> to be a new vertex instead of <Vold>.
|
||||
//!
|
||||
//! The faces of the added shape containing <Vold>
|
||||
//! will be copied to substitute <Vold> by <Vnew>.
|
||||
Standard_EXPORT void Bind (const TopoDS_Vertex& Vold, const TopoDS_Vertex& Vnew);
|
||||
|
||||
//! Add the faces of <S> to the Quilt, the faces
|
||||
//! containing bounded edges are copied.
|
||||
Standard_EXPORT void Add (const TopoDS_Shape& S);
|
||||
|
||||
//! Returns True if <S> has been copied (<S> is a
|
||||
//! vertex, an edge or a face)
|
||||
Standard_EXPORT Standard_Boolean IsCopied (const TopoDS_Shape& S) const;
|
||||
|
||||
//! Returns the shape substitued to <S> in the Quilt.
|
||||
Standard_EXPORT const TopoDS_Shape& Copy (const TopoDS_Shape& S) const;
|
||||
|
||||
//! Returns a Compound of shells made from the current
|
||||
//! set of faces. The shells will be flagged as closed
|
||||
//! or not closed.
|
||||
Standard_EXPORT TopoDS_Shape Shells() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopTools_IndexedDataMapOfShapeShape myBounds;
|
||||
Standard_Boolean hasCopy;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_Quilt_HeaderFile
|
@@ -1,134 +0,0 @@
|
||||
-- Created on: 1998-06-03
|
||||
-- Created by: data exchange team
|
||||
-- Copyright (c) 1998-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 ReShape from BRepTools inherits TShared from MMgt
|
||||
|
||||
---Purpose: Rebuilds a Shape by making pre-defined substitutions on some
|
||||
-- of its components
|
||||
--
|
||||
-- In a first phase, it records requests to replace or remove
|
||||
-- some individual shapes
|
||||
-- For each shape, the last given request is recorded
|
||||
-- Requests may be applied "Oriented" (i.e. only to an item with
|
||||
-- the SAME orientation) or not (the orientation of replacing
|
||||
-- shape is respectful of that of the original one)
|
||||
--
|
||||
-- Then, these requests may be applied to any shape which may
|
||||
-- contain one or more of these individual shapes
|
||||
|
||||
uses
|
||||
ShapeEnum from TopAbs,
|
||||
Shape from TopoDS,
|
||||
DataMapOfShapeShape from TopTools
|
||||
|
||||
is
|
||||
|
||||
Create returns ReShape from BRepTools;
|
||||
---Purpose: Returns an empty Reshape
|
||||
|
||||
Clear (me: mutable) is virtual;
|
||||
---Purpose: Clears all substitutions requests
|
||||
|
||||
Remove (me: mutable; shape: Shape from TopoDS;
|
||||
oriented: Boolean = Standard_False)
|
||||
is virtual;
|
||||
---Purpose: Sets a request to Remove a Shape
|
||||
-- If <oriented> is True, only for a shape with the SAME
|
||||
-- orientation. Else, whatever the orientation
|
||||
|
||||
Replace (me: mutable; shape, newshape: Shape from TopoDS;
|
||||
oriented: Boolean = Standard_False)
|
||||
is virtual;
|
||||
---Purpose: Sets a request to Replace a Shape by a new one
|
||||
-- If <oriented> is True, only if the orientation is the same
|
||||
-- Else, whatever the orientation, and the new shape takes the
|
||||
-- same orientation as <newshape> if the replaced one has the
|
||||
-- same as <shape>, else it is reversed
|
||||
|
||||
IsRecorded (me; shape: Shape from TopoDS)
|
||||
returns Boolean is virtual;
|
||||
---Purpose: Tells if a shape is recorded for Replace/Remove
|
||||
|
||||
Value (me; shape: Shape from TopoDS)
|
||||
returns Shape from TopoDS is virtual;
|
||||
---Purpose: Returns the new value for an individual shape
|
||||
-- If not recorded, returns the original shape itself
|
||||
-- If to be Removed, returns a Null Shape
|
||||
-- Else, returns the replacing item
|
||||
|
||||
Status (me: mutable; shape: Shape from TopoDS; newsh: out Shape from TopoDS; last : Boolean = Standard_False)
|
||||
returns Integer is virtual;
|
||||
---Purpose: Returns a complete substitution status for a shape
|
||||
-- 0 : not recorded, <newsh> = original <shape>
|
||||
-- < 0: to be removed, <newsh> is NULL
|
||||
-- > 0: to be replaced, <newsh> is a new item
|
||||
-- If <last> is False, returns status and new shape recorded in
|
||||
-- the map directly for the shape, if True and status > 0 then
|
||||
-- recursively searches for the last status and new shape.
|
||||
|
||||
Apply (me: mutable; shape: Shape from TopoDS; until: ShapeEnum from TopAbs; buildmode: Integer)
|
||||
returns Shape from TopoDS is virtual;
|
||||
---Purpose: Applies the substitutions requests to a shape
|
||||
--
|
||||
-- <until> gives the level of type until which requests are taken
|
||||
-- into account. For subshapes of the type <until> no rebuild
|
||||
-- and futher exploring are done.
|
||||
-- ACTUALLY, NOT IMPLEMENTED BELOW TopAbs_FACE
|
||||
--
|
||||
-- <buildmode> says how to do on a SOLID,SHELL ... if one of its
|
||||
-- sub-shapes has been changed:
|
||||
-- 0: at least one Replace or Remove -> COMPOUND, else as such
|
||||
-- 1: at least one Remove (Replace are ignored) -> COMPOUND
|
||||
-- 2: Replace and Remove are both ignored
|
||||
-- If Replace/Remove are ignored or absent, the result as same
|
||||
-- type as the starting shape
|
||||
|
||||
Apply (me: mutable; shape: Shape from TopoDS; until: ShapeEnum from TopAbs = TopAbs_SHAPE)
|
||||
returns Shape from TopoDS is virtual;
|
||||
---Purpose: Applies the substitutions requests to a shape.
|
||||
--
|
||||
-- <until> gives the level of type until which requests are taken
|
||||
-- into account. For subshapes of the type <until> no rebuild
|
||||
-- and futher exploring are done.
|
||||
--
|
||||
-- NOTE: each subshape can be replaced by shape of the same type
|
||||
-- or by shape containing only shapes of that type (for
|
||||
-- example, TopoDS_Edge can be replaced by TopoDS_Edge,
|
||||
-- TopoDS_Wire or TopoDS_Compound containing TopoDS_Edges).
|
||||
-- If incompatible shape type is encountered, it is ignored
|
||||
-- and flag FAIL1 is set in Status.
|
||||
|
||||
ModeConsiderLocation(me: mutable)
|
||||
returns Boolean is virtual;
|
||||
---C++: return &
|
||||
---Purpose:Returns (modifiable) the flag which defines whether Location of shape take into account
|
||||
-- during replacing shapes.
|
||||
|
||||
ModeConsiderOrientation(me: mutable)
|
||||
returns Boolean is virtual;
|
||||
---C++: return &
|
||||
---Purpose:Returns (modifiable) the flag which defines whether Orientation of shape take into account
|
||||
-- during replacing shapes.
|
||||
|
||||
fields
|
||||
|
||||
myNMap: DataMapOfShapeShape from TopTools is protected; -- normal case
|
||||
myRMap: DataMapOfShapeShape from TopTools is protected; -- REVERSED
|
||||
myStatus: Integer is protected; -- error status
|
||||
myConsiderLocation : Boolean;
|
||||
myConsiderOrientation : Boolean;
|
||||
|
||||
end ReShape;
|
@@ -15,29 +15,28 @@
|
||||
// sln 29.11.01 Bug24: correction iteration through map in method 'Status'
|
||||
// sln 29.11.01 Bug22: correction of methods Replace and Value for case when mode myConsiderLocation is on
|
||||
|
||||
#include <BRepTools_ReShape.ixx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Solid.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools_ReShape.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Compound.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS_Shell.hxx>
|
||||
#include <TopoDS_Solid.hxx>
|
||||
|
||||
//include <ShapeExtend.hxx>
|
||||
//#include <BRepTools_Edge.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
|
||||
|
||||
static void CopyRanges (const TopoDS_Shape& toedge, const TopoDS_Shape& fromedge,
|
||||
const Standard_Real alpha, const Standard_Real beta)
|
||||
{
|
||||
|
154
src/BRepTools/BRepTools_ReShape.hxx
Normal file
154
src/BRepTools/BRepTools_ReShape.hxx
Normal file
@@ -0,0 +1,154 @@
|
||||
// Created on: 1998-06-03
|
||||
// Created by: data exchange team
|
||||
// Copyright (c) 1998-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 _BRepTools_ReShape_HeaderFile
|
||||
#define _BRepTools_ReShape_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <TopAbs_ShapeEnum.hxx>
|
||||
class TopoDS_Shape;
|
||||
|
||||
|
||||
class BRepTools_ReShape;
|
||||
DEFINE_STANDARD_HANDLE(BRepTools_ReShape, MMgt_TShared)
|
||||
|
||||
//! Rebuilds a Shape by making pre-defined substitutions on some
|
||||
//! of its components
|
||||
//!
|
||||
//! In a first phase, it records requests to replace or remove
|
||||
//! some individual shapes
|
||||
//! For each shape, the last given request is recorded
|
||||
//! Requests may be applied "Oriented" (i.e. only to an item with
|
||||
//! the SAME orientation) or not (the orientation of replacing
|
||||
//! shape is respectful of that of the original one)
|
||||
//!
|
||||
//! Then, these requests may be applied to any shape which may
|
||||
//! contain one or more of these individual shapes
|
||||
class BRepTools_ReShape : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Returns an empty Reshape
|
||||
Standard_EXPORT BRepTools_ReShape();
|
||||
|
||||
//! Clears all substitutions requests
|
||||
Standard_EXPORT virtual void Clear();
|
||||
|
||||
//! Sets a request to Remove a Shape
|
||||
//! If <oriented> is True, only for a shape with the SAME
|
||||
//! orientation. Else, whatever the orientation
|
||||
Standard_EXPORT virtual void Remove (const TopoDS_Shape& shape, const Standard_Boolean oriented = Standard_False);
|
||||
|
||||
//! Sets a request to Replace a Shape by a new one
|
||||
//! If <oriented> is True, only if the orientation is the same
|
||||
//! Else, whatever the orientation, and the new shape takes the
|
||||
//! same orientation as <newshape> if the replaced one has the
|
||||
//! same as <shape>, else it is reversed
|
||||
Standard_EXPORT virtual void Replace (const TopoDS_Shape& shape, const TopoDS_Shape& newshape, const Standard_Boolean oriented = Standard_False);
|
||||
|
||||
//! Tells if a shape is recorded for Replace/Remove
|
||||
Standard_EXPORT virtual Standard_Boolean IsRecorded (const TopoDS_Shape& shape) const;
|
||||
|
||||
//! Returns the new value for an individual shape
|
||||
//! If not recorded, returns the original shape itself
|
||||
//! If to be Removed, returns a Null Shape
|
||||
//! Else, returns the replacing item
|
||||
Standard_EXPORT virtual TopoDS_Shape Value (const TopoDS_Shape& shape) const;
|
||||
|
||||
//! Returns a complete substitution status for a shape
|
||||
//! 0 : not recorded, <newsh> = original <shape>
|
||||
//! < 0: to be removed, <newsh> is NULL
|
||||
//! > 0: to be replaced, <newsh> is a new item
|
||||
//! If <last> is False, returns status and new shape recorded in
|
||||
//! the map directly for the shape, if True and status > 0 then
|
||||
//! recursively searches for the last status and new shape.
|
||||
Standard_EXPORT virtual Standard_Integer Status (const TopoDS_Shape& shape, TopoDS_Shape& newsh, const Standard_Boolean last = Standard_False);
|
||||
|
||||
//! Applies the substitutions requests to a shape
|
||||
//!
|
||||
//! <until> gives the level of type until which requests are taken
|
||||
//! into account. For subshapes of the type <until> no rebuild
|
||||
//! and futher exploring are done.
|
||||
//! ACTUALLY, NOT IMPLEMENTED BELOW TopAbs_FACE
|
||||
//!
|
||||
//! <buildmode> says how to do on a SOLID,SHELL ... if one of its
|
||||
//! sub-shapes has been changed:
|
||||
//! 0: at least one Replace or Remove -> COMPOUND, else as such
|
||||
//! 1: at least one Remove (Replace are ignored) -> COMPOUND
|
||||
//! 2: Replace and Remove are both ignored
|
||||
//! If Replace/Remove are ignored or absent, the result as same
|
||||
//! type as the starting shape
|
||||
Standard_EXPORT virtual TopoDS_Shape Apply (const TopoDS_Shape& shape, const TopAbs_ShapeEnum until, const Standard_Integer buildmode);
|
||||
|
||||
//! Applies the substitutions requests to a shape.
|
||||
//!
|
||||
//! <until> gives the level of type until which requests are taken
|
||||
//! into account. For subshapes of the type <until> no rebuild
|
||||
//! and futher exploring are done.
|
||||
//!
|
||||
//! NOTE: each subshape can be replaced by shape of the same type
|
||||
//! or by shape containing only shapes of that type (for
|
||||
//! example, TopoDS_Edge can be replaced by TopoDS_Edge,
|
||||
//! TopoDS_Wire or TopoDS_Compound containing TopoDS_Edges).
|
||||
//! If incompatible shape type is encountered, it is ignored
|
||||
//! and flag FAIL1 is set in Status.
|
||||
Standard_EXPORT virtual TopoDS_Shape Apply (const TopoDS_Shape& shape, const TopAbs_ShapeEnum until = TopAbs_SHAPE);
|
||||
|
||||
//! Returns (modifiable) the flag which defines whether Location of shape take into account
|
||||
//! during replacing shapes.
|
||||
Standard_EXPORT virtual Standard_Boolean& ModeConsiderLocation();
|
||||
|
||||
//! Returns (modifiable) the flag which defines whether Orientation of shape take into account
|
||||
//! during replacing shapes.
|
||||
Standard_EXPORT virtual Standard_Boolean& ModeConsiderOrientation();
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(BRepTools_ReShape,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
TopTools_DataMapOfShapeShape myNMap;
|
||||
TopTools_DataMapOfShapeShape myRMap;
|
||||
Standard_Integer myStatus;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Boolean myConsiderLocation;
|
||||
Standard_Boolean myConsiderOrientation;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_ReShape_HeaderFile
|
@@ -1,160 +0,0 @@
|
||||
-- Created on: 1993-07-19
|
||||
-- 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 ShapeSet from BRepTools inherits ShapeSet from TopTools
|
||||
|
||||
---Purpose: Contains a Shape and all its subshapes, locations
|
||||
-- and geometries.
|
||||
--
|
||||
-- The topology is inherited from TopTools.
|
||||
|
||||
uses
|
||||
Shape from TopoDS,
|
||||
Builder from BRep,
|
||||
ShapeEnum from TopAbs,
|
||||
SurfaceSet from GeomTools,
|
||||
CurveSet from GeomTools,
|
||||
Curve2dSet from GeomTools,
|
||||
IndexedMapOfTransient from TColStd
|
||||
|
||||
is
|
||||
|
||||
Create(isWithTriangles: Boolean from Standard = Standard_True)
|
||||
returns ShapeSet from BRepTools;
|
||||
---Purpose: Builds an empty ShapeSet.
|
||||
-- Parameter <isWithTriangles> is added for XML Persistence
|
||||
|
||||
Create(B : Builder from BRep;
|
||||
isWithTriangles: Boolean from Standard = Standard_True)
|
||||
returns ShapeSet from BRepTools;
|
||||
---Purpose: Builds an empty ShapeSet.
|
||||
-- Parameter <isWithTriangles> is added for XML Persistence
|
||||
|
||||
Clear(me : in out)
|
||||
---Purpose: Clears the content of the set.
|
||||
is redefined;
|
||||
|
||||
AddGeometry(me : in out; S : Shape from TopoDS)
|
||||
---Purpose: Stores the goemetry of <S>.
|
||||
is redefined;
|
||||
|
||||
DumpGeometry(me; OS : in out OStream)
|
||||
---Purpose: Dumps the geometry of me on the stream <OS>.
|
||||
is redefined;
|
||||
|
||||
WriteGeometry(me : in out; OS : in out OStream)
|
||||
---Purpose: Writes the geometry of me on the stream <OS> in a
|
||||
-- format that can be read back by Read.
|
||||
is redefined;
|
||||
|
||||
ReadGeometry(me : in out; IS : in out IStream)
|
||||
---Purpose: Reads the geometry of me from the stream <IS>.
|
||||
is redefined;
|
||||
|
||||
DumpGeometry(me; S : Shape from TopoDS; OS : in out OStream)
|
||||
---Purpose: Dumps the geometry of <S> on the stream <OS>.
|
||||
is redefined;
|
||||
|
||||
WriteGeometry(me; S : Shape from TopoDS; OS : in out OStream)
|
||||
---Purpose: Writes the geometry of <S> on the stream <OS> in a
|
||||
-- format that can be read back by Read.
|
||||
is redefined;
|
||||
|
||||
ReadGeometry(me : in out; T : ShapeEnum from TopAbs;
|
||||
IS : in out IStream;
|
||||
S : out Shape from TopoDS)
|
||||
---Purpose: Reads the geometry of a shape of type <T> from the
|
||||
-- stream <IS> and returns it in <S>.
|
||||
is redefined;
|
||||
|
||||
|
||||
AddShapes(me : in out; S1 : in out Shape from TopoDS;
|
||||
S2 : Shape from TopoDS)
|
||||
---Purpose: Inserts the shape <S2> in the shape <S1>. This
|
||||
-- method must be redefined to use the correct
|
||||
-- builder.
|
||||
is redefined;
|
||||
|
||||
Check(me : in out; T : ShapeEnum from TopAbs;
|
||||
S : in out Shape from TopoDS)
|
||||
is redefined;
|
||||
|
||||
|
||||
ReadPolygon3D(me: in out; IS: in out IStream)
|
||||
---Purpose: Reads the 3d polygons of me
|
||||
-- from the stream <IS>.
|
||||
is static;
|
||||
|
||||
WritePolygon3D(me; OS: in out OStream;
|
||||
Compact: Boolean=Standard_True)
|
||||
---Purpose: Writes the 3d polygons
|
||||
-- on the stream <OS> in a format that can
|
||||
-- be read back by Read.
|
||||
is static;
|
||||
|
||||
DumpPolygon3D(me; OS: in out OStream)
|
||||
---Purpose: Dumps the 3d polygons
|
||||
-- on the stream <OS>.
|
||||
is static;
|
||||
|
||||
ReadTriangulation(me: in out; IS: in out IStream)
|
||||
---Purpose: Reads the triangulation of me
|
||||
-- from the stream <IS>.
|
||||
is static;
|
||||
|
||||
WriteTriangulation(me; OS: in out OStream;
|
||||
Compact: Boolean=Standard_True)
|
||||
---Purpose: Writes the triangulation
|
||||
-- on the stream <OS> in a format that can
|
||||
-- be read back by Read.
|
||||
is static;
|
||||
|
||||
DumpTriangulation(me; OS: in out OStream)
|
||||
---Purpose: Dumps the triangulation
|
||||
-- on the stream <OS>.
|
||||
is static;
|
||||
|
||||
ReadPolygonOnTriangulation(me: in out; IS: in out IStream)
|
||||
---Purpose: Reads the polygons on triangulation of me
|
||||
-- from the stream <IS>.
|
||||
is static;
|
||||
|
||||
WritePolygonOnTriangulation(me; OS: in out OStream;
|
||||
Compact: Boolean=Standard_True)
|
||||
---Purpose: Writes the polygons on triangulation
|
||||
-- on the stream <OS> in a format that can
|
||||
-- be read back by Read.
|
||||
is static;
|
||||
|
||||
DumpPolygonOnTriangulation(me; OS: in out OStream)
|
||||
---Purpose: Dumps the polygons on triangulation
|
||||
-- on the stream <OS>.
|
||||
is static;
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myBuilder : Builder from BRep;
|
||||
mySurfaces : SurfaceSet from GeomTools;
|
||||
myCurves : CurveSet from GeomTools;
|
||||
myCurves2d : Curve2dSet from GeomTools;
|
||||
myPolygons2D: IndexedMapOfTransient from TColStd;
|
||||
myPolygons3D: IndexedMapOfTransient from TColStd;
|
||||
myTriangulations: IndexedMapOfTransient from TColStd;
|
||||
myNodes : IndexedMapOfTransient from TColStd;
|
||||
myWithTriangles: Boolean from Standard; -- for XML Persistence
|
||||
|
||||
end ShapeSet;
|
@@ -16,47 +16,45 @@
|
||||
|
||||
// Modifed: Portage NT 7-5-97 DPF (strcasecmp)
|
||||
|
||||
#include <Standard_Stream.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <BRepTools_ShapeSet.ixx>
|
||||
|
||||
#include <BRepTools.hxx>
|
||||
#include <GeomTools.hxx>
|
||||
#include <Poly.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
#include <BRep_TFace.hxx>
|
||||
#include <BRep_TEdge.hxx>
|
||||
#include <BRep_TVertex.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <BRep_Polygon3D.hxx>
|
||||
#include <BRep_PolygonOnSurface.hxx>
|
||||
#include <BRep_PolygonOnClosedSurface.hxx>
|
||||
#include <BRep_PolygonOnTriangulation.hxx>
|
||||
#include <BRep_PolygonOnClosedTriangulation.hxx>
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_CurveOnClosedSurface.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <BRep_CurveOnSurface.hxx>
|
||||
#include <BRep_CurveRepresentation.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <BRep_ListIteratorOfListOfCurveRepresentation.hxx>
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
#include <BRep_ListOfCurveRepresentation.hxx>
|
||||
#include <BRep_PointOnCurve.hxx>
|
||||
#include <BRep_PointOnCurveOnSurface.hxx>
|
||||
#include <BRep_PointOnSurface.hxx>
|
||||
#include <BRep_ListIteratorOfListOfPointRepresentation.hxx>
|
||||
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
#include <TColgp_HArray1OfPnt.hxx>
|
||||
#include <TColgp_HArray1OfPnt2d.hxx>
|
||||
#include <TColStd_HArray1OfReal.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Polygon2D.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 <BRep_TFace.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRep_TVertex.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <BRepTools_ShapeSet.hxx>
|
||||
#include <GeomTools.hxx>
|
||||
#include <Message_ProgressIndicator.hxx>
|
||||
#include <Message_ProgressSentry.hxx>
|
||||
#include <BRep_GCurve.hxx>
|
||||
#include <Poly.hxx>
|
||||
#include <Poly_Polygon2D.hxx>
|
||||
#include <Poly_Polygon3D.hxx>
|
||||
#include <Poly_PolygonOnTriangulation.hxx>
|
||||
#include <Poly_Triangulation.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Stream.hxx>
|
||||
#include <TColgp_HArray1OfPnt.hxx>
|
||||
#include <TColgp_HArray1OfPnt2d.hxx>
|
||||
#include <TColStd_HArray1OfInteger.hxx>
|
||||
#include <TColStd_HArray1OfReal.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
#ifdef MacOS
|
||||
#define strcasecmp(p,q) strcmp(p,q)
|
||||
|
162
src/BRepTools/BRepTools_ShapeSet.hxx
Normal file
162
src/BRepTools/BRepTools_ShapeSet.hxx
Normal file
@@ -0,0 +1,162 @@
|
||||
// Created on: 1993-07-19
|
||||
// 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 _BRepTools_ShapeSet_HeaderFile
|
||||
#define _BRepTools_ShapeSet_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <GeomTools_SurfaceSet.hxx>
|
||||
#include <GeomTools_CurveSet.hxx>
|
||||
#include <GeomTools_Curve2dSet.hxx>
|
||||
#include <TColStd_IndexedMapOfTransient.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopTools_ShapeSet.hxx>
|
||||
#include <Standard_OStream.hxx>
|
||||
#include <Standard_IStream.hxx>
|
||||
#include <TopAbs_ShapeEnum.hxx>
|
||||
class BRep_Builder;
|
||||
class TopoDS_Shape;
|
||||
|
||||
|
||||
//! Contains a Shape and all its subshapes, locations
|
||||
//! and geometries.
|
||||
//!
|
||||
//! The topology is inherited from TopTools.
|
||||
class BRepTools_ShapeSet : public TopTools_ShapeSet
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Builds an empty ShapeSet.
|
||||
//! Parameter <isWithTriangles> is added for XML Persistence
|
||||
Standard_EXPORT BRepTools_ShapeSet(const Standard_Boolean isWithTriangles = Standard_True);
|
||||
|
||||
//! Builds an empty ShapeSet.
|
||||
//! Parameter <isWithTriangles> is added for XML Persistence
|
||||
Standard_EXPORT BRepTools_ShapeSet(const BRep_Builder& B, const Standard_Boolean isWithTriangles = Standard_True);
|
||||
|
||||
//! Clears the content of the set.
|
||||
Standard_EXPORT virtual void Clear() Standard_OVERRIDE;
|
||||
|
||||
//! Stores the goemetry of <S>.
|
||||
Standard_EXPORT virtual void AddGeometry (const TopoDS_Shape& S) Standard_OVERRIDE;
|
||||
|
||||
//! Dumps the geometry of me on the stream <OS>.
|
||||
Standard_EXPORT virtual void DumpGeometry (Standard_OStream& OS) const Standard_OVERRIDE;
|
||||
|
||||
//! Writes the geometry of me on the stream <OS> in a
|
||||
//! format that can be read back by Read.
|
||||
Standard_EXPORT virtual void WriteGeometry (Standard_OStream& OS) Standard_OVERRIDE;
|
||||
|
||||
//! Reads the geometry of me from the stream <IS>.
|
||||
Standard_EXPORT virtual void ReadGeometry (Standard_IStream& IS) Standard_OVERRIDE;
|
||||
|
||||
//! Dumps the geometry of <S> on the stream <OS>.
|
||||
Standard_EXPORT virtual void DumpGeometry (const TopoDS_Shape& S, Standard_OStream& OS) const Standard_OVERRIDE;
|
||||
|
||||
//! Writes the geometry of <S> on the stream <OS> in a
|
||||
//! format that can be read back by Read.
|
||||
Standard_EXPORT virtual void WriteGeometry (const TopoDS_Shape& S, Standard_OStream& OS) const Standard_OVERRIDE;
|
||||
|
||||
//! Reads the geometry of a shape of type <T> from the
|
||||
//! stream <IS> and returns it in <S>.
|
||||
Standard_EXPORT virtual void ReadGeometry (const TopAbs_ShapeEnum T, Standard_IStream& IS, TopoDS_Shape& S) Standard_OVERRIDE;
|
||||
|
||||
//! Inserts the shape <S2> in the shape <S1>. This
|
||||
//! method must be redefined to use the correct
|
||||
//! builder.
|
||||
Standard_EXPORT virtual void AddShapes (TopoDS_Shape& S1, const TopoDS_Shape& S2) Standard_OVERRIDE;
|
||||
|
||||
Standard_EXPORT virtual void Check (const TopAbs_ShapeEnum T, TopoDS_Shape& S) Standard_OVERRIDE;
|
||||
|
||||
//! Reads the 3d polygons of me
|
||||
//! from the stream <IS>.
|
||||
Standard_EXPORT void ReadPolygon3D (Standard_IStream& IS);
|
||||
|
||||
//! Writes the 3d polygons
|
||||
//! on the stream <OS> in a format that can
|
||||
//! be read back by Read.
|
||||
Standard_EXPORT void WritePolygon3D (Standard_OStream& OS, const Standard_Boolean Compact = Standard_True) const;
|
||||
|
||||
//! Dumps the 3d polygons
|
||||
//! on the stream <OS>.
|
||||
Standard_EXPORT void DumpPolygon3D (Standard_OStream& OS) const;
|
||||
|
||||
//! Reads the triangulation of me
|
||||
//! from the stream <IS>.
|
||||
Standard_EXPORT void ReadTriangulation (Standard_IStream& IS);
|
||||
|
||||
//! Writes the triangulation
|
||||
//! on the stream <OS> in a format that can
|
||||
//! be read back by Read.
|
||||
Standard_EXPORT void WriteTriangulation (Standard_OStream& OS, const Standard_Boolean Compact = Standard_True) const;
|
||||
|
||||
//! Dumps the triangulation
|
||||
//! on the stream <OS>.
|
||||
Standard_EXPORT void DumpTriangulation (Standard_OStream& OS) const;
|
||||
|
||||
//! Reads the polygons on triangulation of me
|
||||
//! from the stream <IS>.
|
||||
Standard_EXPORT void ReadPolygonOnTriangulation (Standard_IStream& IS);
|
||||
|
||||
//! Writes the polygons on triangulation
|
||||
//! on the stream <OS> in a format that can
|
||||
//! be read back by Read.
|
||||
Standard_EXPORT void WritePolygonOnTriangulation (Standard_OStream& OS, const Standard_Boolean Compact = Standard_True) const;
|
||||
|
||||
//! Dumps the polygons on triangulation
|
||||
//! on the stream <OS>.
|
||||
Standard_EXPORT void DumpPolygonOnTriangulation (Standard_OStream& OS) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
BRep_Builder myBuilder;
|
||||
GeomTools_SurfaceSet mySurfaces;
|
||||
GeomTools_CurveSet myCurves;
|
||||
GeomTools_Curve2dSet myCurves2d;
|
||||
TColStd_IndexedMapOfTransient myPolygons2D;
|
||||
TColStd_IndexedMapOfTransient myPolygons3D;
|
||||
TColStd_IndexedMapOfTransient myTriangulations;
|
||||
TColStd_IndexedMapOfTransient myNodes;
|
||||
Standard_Boolean myWithTriangles;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_ShapeSet_HeaderFile
|
@@ -1,84 +0,0 @@
|
||||
-- Created on: 1995-03-28
|
||||
-- Created by: Yves FRICAUD
|
||||
-- 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 Substitution from BRepTools
|
||||
|
||||
---Purpose: A tool to substitute subshapes by other shapes.
|
||||
--
|
||||
--
|
||||
-- The user use the method Substitute to define the
|
||||
-- modifications.
|
||||
-- A set of shapes is designated to replace a initial
|
||||
-- shape.
|
||||
--
|
||||
-- The method Build reconstructs a new Shape with the
|
||||
-- modifications.The Shape and the new shape are
|
||||
-- registered.
|
||||
--
|
||||
|
||||
uses
|
||||
Shape from TopoDS,
|
||||
ListOfShape from TopTools,
|
||||
DataMapOfShapeListOfShape from TopTools
|
||||
|
||||
raises
|
||||
|
||||
NoSuchObject from Standard
|
||||
is
|
||||
|
||||
Create returns Substitution from BRepTools;
|
||||
|
||||
Clear ( me : in out)
|
||||
---Purpose: Reset all the fields.
|
||||
is static;
|
||||
|
||||
Substitute (me : in out;
|
||||
OldShape : Shape from TopoDS;
|
||||
NewShapes : ListOfShape from TopTools)
|
||||
---Purpose: <Oldshape> will be replaced by <NewShapes>.
|
||||
--
|
||||
-- <NewShapes> can be empty , in this case <OldShape>
|
||||
-- will disparate from its ancestors.
|
||||
--
|
||||
-- if an item of <NewShapes> is oriented FORWARD.
|
||||
-- it will be oriented as <OldShape> in its ancestors.
|
||||
-- else it will be reversed.
|
||||
is static;
|
||||
|
||||
|
||||
Build (me : in out; S : Shape from TopoDS)
|
||||
---Purpose: Build NewShape from <S> if its subshapes has modified.
|
||||
--
|
||||
-- The methods <IsCopied> and <Copy> allows you to keep
|
||||
-- the resul of <Build>
|
||||
is static;
|
||||
|
||||
IsCopied(me; S : Shape from TopoDS) returns Boolean
|
||||
---Purpose: Returns True if <S> has been replaced .
|
||||
is static;
|
||||
|
||||
Copy(me; S : Shape from TopoDS) returns ListOfShape from TopTools
|
||||
---Purpose: Returns the set of shapes substitued to <S> .
|
||||
---C++: return const &
|
||||
raises
|
||||
NoSuchObject from Standard -- if ! IsCopied(S)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
myMap : DataMapOfShapeListOfShape from TopTools;
|
||||
|
||||
end Substitution;
|
@@ -14,20 +14,22 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_Substitution.ixx>
|
||||
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools_Substitution.hxx>
|
||||
#include <Standard_ConstructionError.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <Standard_ConstructionError.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepTools_Substitution
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRepTools_Substitution::BRepTools_Substitution()
|
||||
{}
|
||||
|
||||
|
99
src/BRepTools/BRepTools_Substitution.hxx
Normal file
99
src/BRepTools/BRepTools_Substitution.hxx
Normal file
@@ -0,0 +1,99 @@
|
||||
// Created on: 1995-03-28
|
||||
// Created by: Yves FRICAUD
|
||||
// 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 _BRepTools_Substitution_HeaderFile
|
||||
#define _BRepTools_Substitution_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopTools_DataMapOfShapeListOfShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Standard_NoSuchObject;
|
||||
class TopoDS_Shape;
|
||||
|
||||
|
||||
//! A tool to substitute subshapes by other shapes.
|
||||
//!
|
||||
//! The user use the method Substitute to define the
|
||||
//! modifications.
|
||||
//! A set of shapes is designated to replace a initial
|
||||
//! shape.
|
||||
//!
|
||||
//! The method Build reconstructs a new Shape with the
|
||||
//! modifications.The Shape and the new shape are
|
||||
//! registered.
|
||||
class BRepTools_Substitution
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepTools_Substitution();
|
||||
|
||||
//! Reset all the fields.
|
||||
Standard_EXPORT void Clear();
|
||||
|
||||
//! <Oldshape> will be replaced by <NewShapes>.
|
||||
//!
|
||||
//! <NewShapes> can be empty , in this case <OldShape>
|
||||
//! will disparate from its ancestors.
|
||||
//!
|
||||
//! if an item of <NewShapes> is oriented FORWARD.
|
||||
//! it will be oriented as <OldShape> in its ancestors.
|
||||
//! else it will be reversed.
|
||||
Standard_EXPORT void Substitute (const TopoDS_Shape& OldShape, const TopTools_ListOfShape& NewShapes);
|
||||
|
||||
//! Build NewShape from <S> if its subshapes has modified.
|
||||
//!
|
||||
//! The methods <IsCopied> and <Copy> allows you to keep
|
||||
//! the resul of <Build>
|
||||
Standard_EXPORT void Build (const TopoDS_Shape& S);
|
||||
|
||||
//! Returns True if <S> has been replaced .
|
||||
Standard_EXPORT Standard_Boolean IsCopied (const TopoDS_Shape& S) const;
|
||||
|
||||
//! Returns the set of shapes substitued to <S> .
|
||||
Standard_EXPORT const TopTools_ListOfShape& Copy (const TopoDS_Shape& S) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopTools_DataMapOfShapeListOfShape myMap;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_Substitution_HeaderFile
|
@@ -1,164 +0,0 @@
|
||||
-- Created on: 1994-08-25
|
||||
-- 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 TrsfModification from BRepTools inherits Modification from BRepTools
|
||||
|
||||
---Purpose: Describes a modification that uses a gp_Trsf to
|
||||
-- change the geometry of a shape. All functions return
|
||||
-- true and transform the geometry of the shape.
|
||||
|
||||
uses Face from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Location from TopLoc,
|
||||
Shape from GeomAbs,
|
||||
|
||||
Surface from Geom,
|
||||
Curve from Geom,
|
||||
Curve from Geom2d,
|
||||
|
||||
Trsf from gp,
|
||||
Pnt from gp
|
||||
|
||||
is
|
||||
|
||||
Create (T : Trsf from gp) returns TrsfModification from BRepTools;
|
||||
|
||||
Trsf(me: mutable)
|
||||
---Purpose: Provides access to the gp_Trsf associated with this
|
||||
-- modification. The transformation can be changed.
|
||||
---C++: return &
|
||||
returns Trsf from gp
|
||||
is static;
|
||||
|
||||
|
||||
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 true if the face F has been modified.
|
||||
-- If the face has been modified:
|
||||
-- - S is the new geometry of the face,
|
||||
-- - L is its new location, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- RevWires is set to true when the modification
|
||||
-- reverses the normal of the surface (the wires have to be reversed).
|
||||
-- RevFace is set to true if the orientation of the
|
||||
-- modified face changes in the shells which contain it.
|
||||
-- For this class, RevFace returns true if the gp_Trsf
|
||||
-- associated with this modification is negative.
|
||||
|
||||
|
||||
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 true if the edge E has been modified.
|
||||
-- If the edge has been modified:
|
||||
-- - C is the new geometric support of the edge,
|
||||
-- - L is the new location, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If the edge has not been modified, this function
|
||||
-- returns false, and the values of C, L and 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 true if the vertex V has been modified.
|
||||
-- If the vertex has been modified:
|
||||
-- - P is the new geometry of the vertex, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If the vertex has not been modified this function
|
||||
-- returns false, and the values of P and 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 true if the edge E has a new curve on surface on the face F.
|
||||
-- If a new curve exists:
|
||||
-- - C is the new geometric support of the edge,
|
||||
-- - L is the new location, and
|
||||
-- - Tol the new tolerance.
|
||||
-- If no new curve exists, this function returns false, and
|
||||
-- the values of C, L and Tol are not significant.
|
||||
|
||||
|
||||
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 true if the Vertex V has a new parameter on the edge E.
|
||||
-- If a new parameter exists:
|
||||
-- - P is the parameter, and
|
||||
-- - Tol is the new tolerance.
|
||||
-- If no new parameter exists, this function returns false,
|
||||
-- and the values of P and 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>).
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myTrsf : Trsf from gp;
|
||||
|
||||
end TrsfModification;
|
@@ -14,31 +14,36 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_TrsfModification.ixx>
|
||||
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
|
||||
#include <gp.hxx>
|
||||
#include <BRepTools_TrsfModification.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <Geom_Line.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_TrimmedCurve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <GeomLib.hxx>
|
||||
#include <gp.hxx>
|
||||
#include <gp_GTrsf2d.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Trsf.hxx>
|
||||
#include <gp_TrsfForm.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopExp.hxx>
|
||||
|
||||
#include <TopLoc_Location.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepTools_TrsfModification
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRepTools_TrsfModification::BRepTools_TrsfModification(const gp_Trsf& T) :
|
||||
myTrsf(T)
|
||||
{
|
||||
|
136
src/BRepTools/BRepTools_TrsfModification.hxx
Normal file
136
src/BRepTools/BRepTools_TrsfModification.hxx
Normal file
@@ -0,0 +1,136 @@
|
||||
// Created on: 1994-08-25
|
||||
// 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 _BRepTools_TrsfModification_HeaderFile
|
||||
#define _BRepTools_TrsfModification_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <gp_Trsf.hxx>
|
||||
#include <BRepTools_Modification.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
class gp_Trsf;
|
||||
class TopoDS_Face;
|
||||
class Geom_Surface;
|
||||
class TopLoc_Location;
|
||||
class TopoDS_Edge;
|
||||
class Geom_Curve;
|
||||
class TopoDS_Vertex;
|
||||
class gp_Pnt;
|
||||
class Geom2d_Curve;
|
||||
|
||||
|
||||
class BRepTools_TrsfModification;
|
||||
DEFINE_STANDARD_HANDLE(BRepTools_TrsfModification, BRepTools_Modification)
|
||||
|
||||
//! Describes a modification that uses a gp_Trsf to
|
||||
//! change the geometry of a shape. All functions return
|
||||
//! true and transform the geometry of the shape.
|
||||
class BRepTools_TrsfModification : public BRepTools_Modification
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT BRepTools_TrsfModification(const gp_Trsf& T);
|
||||
|
||||
//! Provides access to the gp_Trsf associated with this
|
||||
//! modification. The transformation can be changed.
|
||||
Standard_EXPORT gp_Trsf& Trsf();
|
||||
|
||||
//! Returns true if the face F has been modified.
|
||||
//! If the face has been modified:
|
||||
//! - S is the new geometry of the face,
|
||||
//! - L is its new location, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! RevWires is set to true when the modification
|
||||
//! reverses the normal of the surface (the wires have to be reversed).
|
||||
//! RevFace is set to true if the orientation of the
|
||||
//! modified face changes in the shells which contain it.
|
||||
//! For this class, RevFace returns true if the gp_Trsf
|
||||
//! associated with this modification is negative.
|
||||
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 true if the edge E has been modified.
|
||||
//! If the edge has been modified:
|
||||
//! - C is the new geometric support of the edge,
|
||||
//! - L is the new location, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If the edge has not been modified, this function
|
||||
//! returns false, and the values of C, L and Tol are not significant.
|
||||
Standard_EXPORT Standard_Boolean NewCurve (const TopoDS_Edge& E, Handle(Geom_Curve)& C, TopLoc_Location& L, Standard_Real& Tol);
|
||||
|
||||
//! Returns true if the vertex V has been modified.
|
||||
//! If the vertex has been modified:
|
||||
//! - P is the new geometry of the vertex, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If the vertex has not been modified this function
|
||||
//! returns false, and the values of P and Tol are not significant.
|
||||
Standard_EXPORT Standard_Boolean NewPoint (const TopoDS_Vertex& V, gp_Pnt& P, Standard_Real& Tol);
|
||||
|
||||
//! Returns true if the edge E has a new curve on surface on the face F.
|
||||
//! If a new curve exists:
|
||||
//! - C is the new geometric support of the edge,
|
||||
//! - L is the new location, and
|
||||
//! - Tol the new tolerance.
|
||||
//! If no new curve exists, this function returns false, and
|
||||
//! the values of C, L and Tol are not significant.
|
||||
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 true if the Vertex V has a new parameter on the edge E.
|
||||
//! If a new parameter exists:
|
||||
//! - P is the parameter, and
|
||||
//! - Tol is the new tolerance.
|
||||
//! If no new parameter exists, this function returns false,
|
||||
//! and the values of P and 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(BRepTools_TrsfModification,BRepTools_Modification)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
gp_Trsf myTrsf;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_TrsfModification_HeaderFile
|
@@ -1,116 +0,0 @@
|
||||
-- Created on: 1993-01-21
|
||||
-- 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 WireExplorer from BRepTools
|
||||
|
||||
---Purpose: The WireExplorer is a tool to explore the edges of
|
||||
-- a wire in a connection order.
|
||||
--
|
||||
-- i.e. each edge is connected to the previous one by
|
||||
-- its origin.
|
||||
-- If a wire is not closed returns only a segment of edges which
|
||||
-- length depends on started in exploration edge. If wire has
|
||||
-- singularities (for example, loops) WireExplorer can return not all
|
||||
-- edges in a wire. it depends on type of singularity.
|
||||
|
||||
uses
|
||||
|
||||
Orientation from TopAbs,
|
||||
Wire from TopoDS,
|
||||
Edge from TopoDS,
|
||||
Vertex from TopoDS,
|
||||
Face from TopoDS,
|
||||
DataMapOfShapeListOfShape from TopTools,
|
||||
MapOfShape from TopTools
|
||||
raises
|
||||
DomainError from Standard,
|
||||
NoSuchObject from Standard,
|
||||
NoMoreObject from Standard
|
||||
|
||||
is
|
||||
Create returns WireExplorer from BRepTools;
|
||||
---Purpose: Constructs an empty explorer (which can be initialized using Init)
|
||||
|
||||
Create(W : Wire from TopoDS ) returns WireExplorer from BRepTools
|
||||
---Purpose: IInitializes an exploration of the wire <W>.
|
||||
raises DomainError from Standard;
|
||||
|
||||
Create(W : Wire from TopoDS;
|
||||
F : Face from TopoDS) returns WireExplorer from BRepTools
|
||||
---Purpose: Initializes an exploration of the wire <W>.
|
||||
-- F is used to select the edge connected to the
|
||||
-- previous in the parametric representation of <F>.
|
||||
raises DomainError from Standard;
|
||||
|
||||
Init(me : in out; W : Wire from TopoDS)
|
||||
---Purpose: Initializes an exploration of the wire <W>.
|
||||
raises DomainError from Standard
|
||||
is static;
|
||||
|
||||
Init(me : in out; W : Wire from TopoDS;
|
||||
F : Face from TopoDS)
|
||||
---Purpose: Initializes an exploration of the wire <W>.
|
||||
-- F is used to select the edge connected to the
|
||||
-- previous in the parametric representation of <F>.
|
||||
--
|
||||
raises DomainError from Standard
|
||||
is static;
|
||||
|
||||
More(me) returns Boolean
|
||||
---Purpose: Returns True if there is a current edge.
|
||||
is static;
|
||||
|
||||
Next(me : in out)
|
||||
---Purpose: Proceeds to the next edge.
|
||||
raises
|
||||
NoMoreObject from Standard
|
||||
is static;
|
||||
|
||||
Current(me) returns Edge from TopoDS
|
||||
---Purpose: Returns the current edge.
|
||||
raises
|
||||
NoSuchObject from Standard
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
Orientation(me) returns Orientation from TopAbs
|
||||
---Purpose: Returns an Orientation for the current edge.
|
||||
is static;
|
||||
|
||||
CurrentVertex(me) returns Vertex from TopoDS
|
||||
---Purpose: Returns the vertex connecting the current edge to
|
||||
-- the previous one.
|
||||
raises
|
||||
NoSuchObject from Standard
|
||||
--
|
||||
---C++: return const &
|
||||
is static;
|
||||
|
||||
Clear(me : in out)
|
||||
---Purpose: Clears the content of the explorer.
|
||||
is static;
|
||||
|
||||
fields
|
||||
myMap : DataMapOfShapeListOfShape from TopTools;
|
||||
myEdge : Edge from TopoDS;
|
||||
myVertex : Vertex from TopoDS;
|
||||
myFace : Face from TopoDS;
|
||||
myDoubles: MapOfShape from TopTools;
|
||||
myReverse: Boolean from Standard;
|
||||
myTolU : Real from Standard;
|
||||
myTolV : Real from Standard;
|
||||
|
||||
end WireExplorer;
|
@@ -14,23 +14,31 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepTools_WireExplorer.ixx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
#include <TopTools_MapIteratorOfMapOfShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
|
||||
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <BRepTools_WireExplorer.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <GeomAdaptor_Surface.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_NoMoreObject.hxx>
|
||||
#include <Standard_NoSuchObject.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Wire.hxx>
|
||||
#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
|
||||
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopTools_MapIteratorOfMapOfShape.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
|
||||
//=======================================================================
|
||||
// forward declarations of aux functions
|
||||
|
126
src/BRepTools/BRepTools_WireExplorer.hxx
Normal file
126
src/BRepTools/BRepTools_WireExplorer.hxx
Normal file
@@ -0,0 +1,126 @@
|
||||
// Created on: 1993-01-21
|
||||
// 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 _BRepTools_WireExplorer_HeaderFile
|
||||
#define _BRepTools_WireExplorer_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopTools_DataMapOfShapeListOfShape.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopTools_MapOfShape.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
class Standard_DomainError;
|
||||
class Standard_NoSuchObject;
|
||||
class Standard_NoMoreObject;
|
||||
class TopoDS_Wire;
|
||||
class TopoDS_Face;
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Vertex;
|
||||
|
||||
|
||||
//! The WireExplorer is a tool to explore the edges of
|
||||
//! a wire in a connection order.
|
||||
//!
|
||||
//! i.e. each edge is connected to the previous one by
|
||||
//! its origin.
|
||||
//! If a wire is not closed returns only a segment of edges which
|
||||
//! length depends on started in exploration edge. If wire has
|
||||
//! singularities (for example, loops) WireExplorer can return not all
|
||||
//! edges in a wire. it depends on type of singularity.
|
||||
class BRepTools_WireExplorer
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Constructs an empty explorer (which can be initialized using Init)
|
||||
Standard_EXPORT BRepTools_WireExplorer();
|
||||
|
||||
//! IInitializes an exploration of the wire <W>.
|
||||
Standard_EXPORT BRepTools_WireExplorer(const TopoDS_Wire& W);
|
||||
|
||||
//! Initializes an exploration of the wire <W>.
|
||||
//! F is used to select the edge connected to the
|
||||
//! previous in the parametric representation of <F>.
|
||||
Standard_EXPORT BRepTools_WireExplorer(const TopoDS_Wire& W, const TopoDS_Face& F);
|
||||
|
||||
//! Initializes an exploration of the wire <W>.
|
||||
Standard_EXPORT void Init (const TopoDS_Wire& W);
|
||||
|
||||
//! Initializes an exploration of the wire <W>.
|
||||
//! F is used to select the edge connected to the
|
||||
//! previous in the parametric representation of <F>.
|
||||
Standard_EXPORT void Init (const TopoDS_Wire& W, const TopoDS_Face& F);
|
||||
|
||||
//! Returns True if there is a current edge.
|
||||
Standard_EXPORT Standard_Boolean More() const;
|
||||
|
||||
//! Proceeds to the next edge.
|
||||
Standard_EXPORT void Next();
|
||||
|
||||
//! Returns the current edge.
|
||||
Standard_EXPORT const TopoDS_Edge& Current() const;
|
||||
|
||||
//! Returns an Orientation for the current edge.
|
||||
Standard_EXPORT TopAbs_Orientation Orientation() const;
|
||||
|
||||
//! Returns the vertex connecting the current edge to
|
||||
//! the previous one.
|
||||
Standard_EXPORT const TopoDS_Vertex& CurrentVertex() const;
|
||||
|
||||
//! Clears the content of the explorer.
|
||||
Standard_EXPORT void Clear();
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopTools_DataMapOfShapeListOfShape myMap;
|
||||
TopoDS_Edge myEdge;
|
||||
TopoDS_Vertex myVertex;
|
||||
TopoDS_Face myFace;
|
||||
TopTools_MapOfShape myDoubles;
|
||||
Standard_Boolean myReverse;
|
||||
Standard_Real myTolU;
|
||||
Standard_Real myTolV;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepTools_WireExplorer_HeaderFile
|
@@ -1,3 +1,26 @@
|
||||
BRepTools_Debug.cxx
|
||||
BRepTools_MapOfVertexPnt2d.hxx
|
||||
BRepTools.cxx
|
||||
BRepTools.hxx
|
||||
BRepTools_DataMapIteratorOfMapOfVertexPnt2d.hxx
|
||||
BRepTools_Debug.cxx
|
||||
BRepTools_GTrsfModification.cxx
|
||||
BRepTools_GTrsfModification.hxx
|
||||
BRepTools_MapOfVertexPnt2d.hxx
|
||||
BRepTools_Modification.cxx
|
||||
BRepTools_Modification.hxx
|
||||
BRepTools_Modifier.cxx
|
||||
BRepTools_Modifier.hxx
|
||||
BRepTools_Modifier.lxx
|
||||
BRepTools_NurbsConvertModification.cxx
|
||||
BRepTools_NurbsConvertModification.hxx
|
||||
BRepTools_Quilt.cxx
|
||||
BRepTools_Quilt.hxx
|
||||
BRepTools_ReShape.cxx
|
||||
BRepTools_ReShape.hxx
|
||||
BRepTools_ShapeSet.cxx
|
||||
BRepTools_ShapeSet.hxx
|
||||
BRepTools_Substitution.cxx
|
||||
BRepTools_Substitution.hxx
|
||||
BRepTools_TrsfModification.cxx
|
||||
BRepTools_TrsfModification.hxx
|
||||
BRepTools_WireExplorer.cxx
|
||||
BRepTools_WireExplorer.hxx
|
||||
|
Reference in New Issue
Block a user