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,55 +0,0 @@
|
||||
-- Created on: 1992-11-18
|
||||
-- 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 BRepClass
|
||||
|
||||
---Purpose: The BRepClass packages provides classification
|
||||
-- algorithms for the BRep topology. It instantiates
|
||||
-- the algorithms from the package TopClass.
|
||||
|
||||
uses
|
||||
gp,
|
||||
TopAbs,
|
||||
TopoDS,
|
||||
TopExp,
|
||||
BRepTools,
|
||||
Geom2dInt,
|
||||
TopClass,
|
||||
--- IntCurveSurface,
|
||||
Bnd
|
||||
|
||||
|
||||
|
||||
|
||||
is
|
||||
class Edge;
|
||||
|
||||
class Intersector;
|
||||
|
||||
class FacePassiveClassifier instantiates Classifier2d from TopClass
|
||||
(Edge from BRepClass,
|
||||
Intersector from BRepClass);
|
||||
|
||||
class FaceExplorer;
|
||||
|
||||
class FClassifier instantiates FaceClassifier from TopClass
|
||||
(FaceExplorer from BRepClass,
|
||||
Edge from BRepClass,
|
||||
Intersector from BRepClass);
|
||||
|
||||
class FaceClassifier;
|
||||
|
||||
end BRepClass;
|
@@ -1,49 +0,0 @@
|
||||
-- Created on: 1992-11-19
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Edge from BRepClass
|
||||
|
||||
---Purpose: This class is used to send the description of an
|
||||
-- Edge to the classifier. It contains an Edge and a
|
||||
-- Face. So the PCurve of the Edge can be found.
|
||||
|
||||
uses
|
||||
Edge from TopoDS,
|
||||
Face from TopoDS
|
||||
|
||||
is
|
||||
Create returns Edge from BRepClass;
|
||||
|
||||
Create (E : Edge from TopoDS; F : Face from TopoDS)
|
||||
returns Edge from BRepClass;
|
||||
|
||||
Edge(me : in out) returns Edge from TopoDS
|
||||
---C++: inline
|
||||
---C++: return &
|
||||
---C++: alias "const TopoDS_Edge& Edge() const;"
|
||||
is static;
|
||||
|
||||
Face(me : in out) returns Face from TopoDS
|
||||
---C++: inline
|
||||
---C++: return &
|
||||
---C++: alias "const TopoDS_Face& Face() const;"
|
||||
is static;
|
||||
|
||||
fields
|
||||
myEdge : Edge from TopoDS;
|
||||
myFace : Face from TopoDS;
|
||||
|
||||
end Edge;
|
@@ -14,14 +14,15 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepClass_Edge.ixx>
|
||||
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepClass_Edge
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
BRepClass_Edge::BRepClass_Edge()
|
||||
{
|
||||
}
|
||||
|
76
src/BRepClass/BRepClass_Edge.hxx
Normal file
76
src/BRepClass/BRepClass_Edge.hxx
Normal file
@@ -0,0 +1,76 @@
|
||||
// Created on: 1992-11-19
|
||||
// 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 _BRepClass_Edge_HeaderFile
|
||||
#define _BRepClass_Edge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
class TopoDS_Edge;
|
||||
class TopoDS_Face;
|
||||
|
||||
|
||||
//! This class is used to send the description of an
|
||||
//! Edge to the classifier. It contains an Edge and a
|
||||
//! Face. So the PCurve of the Edge can be found.
|
||||
class BRepClass_Edge
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_Edge();
|
||||
|
||||
Standard_EXPORT BRepClass_Edge(const TopoDS_Edge& E, const TopoDS_Face& F);
|
||||
|
||||
TopoDS_Edge& Edge();
|
||||
const TopoDS_Edge& Edge() const;
|
||||
|
||||
TopoDS_Face& Face();
|
||||
const TopoDS_Face& Face() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopoDS_Edge myEdge;
|
||||
TopoDS_Face myFace;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRepClass_Edge.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_Edge_HeaderFile
|
109
src/BRepClass/BRepClass_FClass2dOfFClassifier.hxx
Normal file
109
src/BRepClass/BRepClass_FClass2dOfFClassifier.hxx
Normal file
@@ -0,0 +1,109 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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 _BRepClass_FClass2dOfFClassifier_HeaderFile
|
||||
#define _BRepClass_FClass2dOfFClassifier_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <TopTrans_CurveTransition.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
class Standard_DomainError;
|
||||
class BRepClass_Edge;
|
||||
class BRepClass_Intersector;
|
||||
class gp_Lin2d;
|
||||
|
||||
|
||||
|
||||
class BRepClass_FClass2dOfFClassifier
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_FClass2dOfFClassifier();
|
||||
|
||||
Standard_EXPORT void Reset (const gp_Lin2d& L, const Standard_Real P, const Standard_Real Tol);
|
||||
|
||||
Standard_EXPORT void Compare (const BRepClass_Edge& E, const TopAbs_Orientation Or);
|
||||
|
||||
Standard_Real Parameter() const;
|
||||
|
||||
BRepClass_Intersector& Intersector();
|
||||
|
||||
Standard_Integer ClosestIntersection() const;
|
||||
|
||||
TopAbs_State State() const;
|
||||
|
||||
Standard_Boolean IsHeadOrEnd() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Boolean myIsSet;
|
||||
Standard_Boolean myFirstCompare;
|
||||
Standard_Boolean myFirstTrans;
|
||||
gp_Lin2d myLin;
|
||||
Standard_Real myParam;
|
||||
Standard_Real myTolerance;
|
||||
TopTrans_CurveTransition myTrans;
|
||||
BRepClass_Intersector myIntersector;
|
||||
Standard_Integer myClosest;
|
||||
TopAbs_State myState;
|
||||
Standard_Boolean myIsHeadOrEnd;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersector BRepClass_Intersector
|
||||
#define TheIntersector_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_Classifier2d BRepClass_FClass2dOfFClassifier
|
||||
#define TopClass_Classifier2d_hxx <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
|
||||
#include <TopClass_Classifier2d.lxx>
|
||||
|
||||
#undef TheEdge
|
||||
#undef TheEdge_hxx
|
||||
#undef TheIntersector
|
||||
#undef TheIntersector_hxx
|
||||
#undef TopClass_Classifier2d
|
||||
#undef TopClass_Classifier2d_hxx
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_FClass2dOfFClassifier_HeaderFile
|
32
src/BRepClass/BRepClass_FClass2dOfFClassifier_0.cxx
Normal file
32
src/BRepClass/BRepClass_FClass2dOfFClassifier_0.cxx
Normal file
@@ -0,0 +1,32 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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.
|
||||
|
||||
#include <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
|
||||
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersector BRepClass_Intersector
|
||||
#define TheIntersector_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_Classifier2d BRepClass_FClass2dOfFClassifier
|
||||
#define TopClass_Classifier2d_hxx <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
#include <TopClass_Classifier2d.gxx>
|
||||
|
114
src/BRepClass/BRepClass_FClassifier.hxx
Normal file
114
src/BRepClass/BRepClass_FClassifier.hxx
Normal file
@@ -0,0 +1,114 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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 _BRepClass_FClassifier_HeaderFile
|
||||
#define _BRepClass_FClassifier_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <IntRes2d_Position.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
class Standard_DomainError;
|
||||
class BRepClass_FaceExplorer;
|
||||
class BRepClass_Edge;
|
||||
class BRepClass_Intersector;
|
||||
class BRepClass_FClass2dOfFClassifier;
|
||||
class gp_Pnt2d;
|
||||
|
||||
|
||||
|
||||
class BRepClass_FClassifier
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_FClassifier();
|
||||
|
||||
Standard_EXPORT BRepClass_FClassifier(BRepClass_FaceExplorer& F, const gp_Pnt2d& P, const Standard_Real Tol);
|
||||
|
||||
Standard_EXPORT void Perform (BRepClass_FaceExplorer& F, const gp_Pnt2d& P, const Standard_Real Tol);
|
||||
|
||||
Standard_EXPORT TopAbs_State State() const;
|
||||
|
||||
Standard_Boolean Rejected() const;
|
||||
|
||||
Standard_Boolean NoWires() const;
|
||||
|
||||
Standard_EXPORT const BRepClass_Edge& Edge() const;
|
||||
|
||||
Standard_EXPORT Standard_Real EdgeParameter() const;
|
||||
|
||||
IntRes2d_Position Position() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
BRepClass_FClass2dOfFClassifier myClassifier;
|
||||
BRepClass_Edge myEdge;
|
||||
Standard_Real myEdgeParameter;
|
||||
IntRes2d_Position myPosition;
|
||||
Standard_Boolean rejected;
|
||||
Standard_Boolean nowires;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define TheFaceExplorer BRepClass_FaceExplorer
|
||||
#define TheFaceExplorer_hxx <BRepClass_FaceExplorer.hxx>
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersection2d BRepClass_Intersector
|
||||
#define TheIntersection2d_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_FClass2d BRepClass_FClass2dOfFClassifier
|
||||
#define TopClass_FClass2d_hxx <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
#define TopClass_FaceClassifier BRepClass_FClassifier
|
||||
#define TopClass_FaceClassifier_hxx <BRepClass_FClassifier.hxx>
|
||||
|
||||
#include <TopClass_FaceClassifier.lxx>
|
||||
|
||||
#undef TheFaceExplorer
|
||||
#undef TheFaceExplorer_hxx
|
||||
#undef TheEdge
|
||||
#undef TheEdge_hxx
|
||||
#undef TheIntersection2d
|
||||
#undef TheIntersection2d_hxx
|
||||
#undef TopClass_FClass2d
|
||||
#undef TopClass_FClass2d_hxx
|
||||
#undef TopClass_FaceClassifier
|
||||
#undef TopClass_FaceClassifier_hxx
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_FClassifier_HeaderFile
|
38
src/BRepClass/BRepClass_FClassifier_0.cxx
Normal file
38
src/BRepClass/BRepClass_FClassifier_0.cxx
Normal file
@@ -0,0 +1,38 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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.
|
||||
|
||||
#include <BRepClass_FClassifier.hxx>
|
||||
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <BRepClass_FaceExplorer.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
|
||||
|
||||
#define TheFaceExplorer BRepClass_FaceExplorer
|
||||
#define TheFaceExplorer_hxx <BRepClass_FaceExplorer.hxx>
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersection2d BRepClass_Intersector
|
||||
#define TheIntersection2d_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_FClass2d BRepClass_FClass2dOfFClassifier
|
||||
#define TopClass_FClass2d_hxx <BRepClass_FClass2dOfFClassifier.hxx>
|
||||
#define TopClass_FaceClassifier BRepClass_FClassifier
|
||||
#define TopClass_FaceClassifier_hxx <BRepClass_FClassifier.hxx>
|
||||
#include <TopClass_FaceClassifier.gxx>
|
||||
|
@@ -1,68 +0,0 @@
|
||||
-- Created on: 1993-05-28
|
||||
-- Created by: Modelistation
|
||||
-- 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 FaceClassifier from BRepClass inherits FClassifier from BRepClass
|
||||
|
||||
---Purpose: Provides Constructors with a Face.
|
||||
|
||||
uses
|
||||
FaceExplorer from BRepClass,
|
||||
Face from TopoDS,
|
||||
Pnt2d from gp,
|
||||
Pnt from gp
|
||||
|
||||
is
|
||||
Create returns FaceClassifier from BRepClass;
|
||||
---Purpose: Empty constructor, undefined algorithm.
|
||||
|
||||
|
||||
|
||||
|
||||
Create(F : in out FaceExplorer from BRepClass;
|
||||
P : Pnt2d from gp; Tol : Real)
|
||||
returns FaceClassifier from BRepClass;
|
||||
---Purpose: Creates an algorithm to classify the Point P with
|
||||
-- Tolerance <T> on the face described by <F>.
|
||||
|
||||
Create(F : Face from TopoDS;
|
||||
P : Pnt2d from gp; Tol : Real)
|
||||
returns FaceClassifier from BRepClass;
|
||||
---Purpose: Creates an algorithm to classify the Point P with
|
||||
-- Tolerance <T> on the face <F>.
|
||||
|
||||
Perform(me : in out;
|
||||
F : Face from TopoDS;
|
||||
P : Pnt2d from gp; Tol : Real)
|
||||
---Purpose: Classify the Point P with Tolerance <T> on the
|
||||
-- face described by <F>.
|
||||
is static;
|
||||
|
||||
|
||||
Create(F : Face from TopoDS;
|
||||
P : Pnt from gp; Tol : Real)
|
||||
returns FaceClassifier from BRepClass;
|
||||
---Purpose: Creates an algorithm to classify the Point P with
|
||||
-- Tolerance <T> on the face <F>.
|
||||
|
||||
Perform(me : in out;
|
||||
F : Face from TopoDS;
|
||||
P : Pnt from gp; Tol : Real)
|
||||
---Purpose: Classify the Point P with Tolerance <T> on the
|
||||
-- face described by <F>.
|
||||
is static;
|
||||
|
||||
|
||||
end FaceClassifier;
|
@@ -12,13 +12,17 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepClass_FaceClassifier.ixx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <Extrema_ExtPS.hxx>
|
||||
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepClass_FaceClassifier.hxx>
|
||||
#include <BRepClass_FaceExplorer.hxx>
|
||||
#include <BRepTools.hxx>
|
||||
#include <Extrema_ExtPS.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : BRepClass_FaceClassifier
|
||||
|
86
src/BRepClass/BRepClass_FaceClassifier.hxx
Normal file
86
src/BRepClass/BRepClass_FaceClassifier.hxx
Normal file
@@ -0,0 +1,86 @@
|
||||
// Created on: 1993-05-28
|
||||
// Created by: Modelistation
|
||||
// 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 _BRepClass_FaceClassifier_HeaderFile
|
||||
#define _BRepClass_FaceClassifier_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepClass_FClassifier.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class BRepClass_FaceExplorer;
|
||||
class gp_Pnt2d;
|
||||
class TopoDS_Face;
|
||||
class gp_Pnt;
|
||||
|
||||
|
||||
//! Provides Constructors with a Face.
|
||||
class BRepClass_FaceClassifier : public BRepClass_FClassifier
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Empty constructor, undefined algorithm.
|
||||
Standard_EXPORT BRepClass_FaceClassifier();
|
||||
|
||||
//! Creates an algorithm to classify the Point P with
|
||||
//! Tolerance <T> on the face described by <F>.
|
||||
Standard_EXPORT BRepClass_FaceClassifier(BRepClass_FaceExplorer& F, const gp_Pnt2d& P, const Standard_Real Tol);
|
||||
|
||||
//! Creates an algorithm to classify the Point P with
|
||||
//! Tolerance <T> on the face <F>.
|
||||
Standard_EXPORT BRepClass_FaceClassifier(const TopoDS_Face& F, const gp_Pnt2d& P, const Standard_Real Tol);
|
||||
|
||||
//! Classify the Point P with Tolerance <T> on the
|
||||
//! face described by <F>.
|
||||
Standard_EXPORT void Perform (const TopoDS_Face& F, const gp_Pnt2d& P, const Standard_Real Tol);
|
||||
|
||||
//! Creates an algorithm to classify the Point P with
|
||||
//! Tolerance <T> on the face <F>.
|
||||
Standard_EXPORT BRepClass_FaceClassifier(const TopoDS_Face& F, const gp_Pnt& P, const Standard_Real Tol);
|
||||
|
||||
//! Classify the Point P with Tolerance <T> on the
|
||||
//! face described by <F>.
|
||||
Standard_EXPORT void Perform (const TopoDS_Face& F, const gp_Pnt& P, const Standard_Real Tol);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_FaceClassifier_HeaderFile
|
@@ -1,118 +0,0 @@
|
||||
-- Created on: 1992-11-19
|
||||
-- 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.
|
||||
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627
|
||||
|
||||
class FaceExplorer from BRepClass
|
||||
|
||||
---Purpose: Provide an exploration of a BRep Face for the
|
||||
-- classification. Return UV edges.
|
||||
|
||||
uses
|
||||
Orientation from TopAbs,
|
||||
Pnt2d from gp,
|
||||
Lin2d from gp,
|
||||
Face from TopoDS,
|
||||
Explorer from TopExp,
|
||||
Edge from BRepClass
|
||||
|
||||
is
|
||||
Create (F : Face from TopoDS) returns FaceExplorer from BRepClass;
|
||||
|
||||
Reject(me; P : Pnt2d from gp) returns Boolean
|
||||
---Purpose: Should return True if the point is outside a
|
||||
-- bounding volume of the face.
|
||||
is static;
|
||||
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
|
||||
-- Segment(me; P : Pnt2d from gp;
|
||||
Segment(me: in out; P : Pnt2d from gp;
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
|
||||
L : out Lin2d from gp; Par : out Real)
|
||||
---Purpose: Returns in <L>, <Par> a segment having at least
|
||||
-- one intersection with the face boundary to
|
||||
-- compute intersections.
|
||||
returns Boolean from Standard -- skv OCC12627
|
||||
is static;
|
||||
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
|
||||
OtherSegment(me: in out; P : Pnt2d from gp;
|
||||
L : out Lin2d from gp; Par : out Real)
|
||||
---Purpose: Returns in <L>, <Par> a segment having at least
|
||||
-- one intersection with the face boundary to
|
||||
-- compute intersections. Each call gives another segment.
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
|
||||
InitWires(me : in out)
|
||||
---Purpose: Starts an exploration of the wires.
|
||||
is static;
|
||||
|
||||
MoreWires(me) returns Boolean
|
||||
---Purpose: Returns True if there is a current wire.
|
||||
--
|
||||
---C++: inline
|
||||
is static;
|
||||
|
||||
NextWire(me : in out)
|
||||
---Purpose: Sets the explorer to the next wire.
|
||||
--
|
||||
---C++: inline
|
||||
is static;
|
||||
|
||||
RejectWire(me; L : Lin2d from gp; Par : Real) returns Boolean
|
||||
---Purpose: Returns True if the wire bounding volume does not
|
||||
-- intersect the segment.
|
||||
is static;
|
||||
|
||||
InitEdges(me : in out)
|
||||
---Purpose: Starts an exploration of the edges of the current
|
||||
-- wire.
|
||||
is static;
|
||||
|
||||
MoreEdges(me) returns Boolean
|
||||
---Purpose: Returns True if there is a current edge.
|
||||
--
|
||||
---C++: inline
|
||||
is static;
|
||||
|
||||
NextEdge(me : in out)
|
||||
---Purpose: Sets the explorer to the next edge.
|
||||
--
|
||||
---C++: inline
|
||||
is static;
|
||||
|
||||
RejectEdge(me; L : Lin2d from gp; Par : Real) returns Boolean
|
||||
---Purpose: Returns True if the edge bounding volume does not
|
||||
-- intersect the segment.
|
||||
is static;
|
||||
|
||||
CurrentEdge(me; E : out Edge from BRepClass;
|
||||
Or : out Orientation from TopAbs)
|
||||
---Purpose: Current edge in current wire and its orientation.
|
||||
is static;
|
||||
|
||||
fields
|
||||
myFace : Face from TopoDS;
|
||||
myWExplorer : Explorer from TopExp;
|
||||
myEExplorer : Explorer from TopExp;
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
|
||||
myCurEdgeInd: Integer from Standard;
|
||||
myCurEdgePar: Real from Standard;
|
||||
-- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
|
||||
|
||||
end FaceExplorer;
|
@@ -17,11 +17,15 @@
|
||||
// Modified by skv - Thu Jul 13 17:42:58 2006 OCC12627
|
||||
// Total rewriting of the method Segment; add the method OtherSegment.
|
||||
|
||||
#include <BRepClass_FaceExplorer.ixx>
|
||||
#include <Precision.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <BRepClass_FaceExplorer.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
|
||||
static const Standard_Real Probing_Start = 0.123;
|
||||
static const Standard_Real Probing_End = 0.7;
|
||||
|
120
src/BRepClass/BRepClass_FaceExplorer.hxx
Normal file
120
src/BRepClass/BRepClass_FaceExplorer.hxx
Normal file
@@ -0,0 +1,120 @@
|
||||
// Created on: 1992-11-19
|
||||
// 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 _BRepClass_FaceExplorer_HeaderFile
|
||||
#define _BRepClass_FaceExplorer_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
class TopoDS_Face;
|
||||
class gp_Pnt2d;
|
||||
class gp_Lin2d;
|
||||
class BRepClass_Edge;
|
||||
|
||||
|
||||
//! Provide an exploration of a BRep Face for the
|
||||
//! classification. Return UV edges.
|
||||
class BRepClass_FaceExplorer
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_FaceExplorer(const TopoDS_Face& F);
|
||||
|
||||
//! Should return True if the point is outside a
|
||||
//! bounding volume of the face.
|
||||
Standard_EXPORT Standard_Boolean Reject (const gp_Pnt2d& P) const;
|
||||
|
||||
//! Returns in <L>, <Par> a segment having at least
|
||||
//! one intersection with the face boundary to
|
||||
//! compute intersections.
|
||||
Standard_EXPORT Standard_Boolean Segment (const gp_Pnt2d& P, gp_Lin2d& L, Standard_Real& Par);
|
||||
|
||||
//! Returns in <L>, <Par> a segment having at least
|
||||
//! one intersection with the face boundary to
|
||||
//! compute intersections. Each call gives another segment.
|
||||
Standard_EXPORT Standard_Boolean OtherSegment (const gp_Pnt2d& P, gp_Lin2d& L, Standard_Real& Par);
|
||||
|
||||
//! Starts an exploration of the wires.
|
||||
Standard_EXPORT void InitWires();
|
||||
|
||||
//! Returns True if there is a current wire.
|
||||
Standard_Boolean MoreWires() const;
|
||||
|
||||
//! Sets the explorer to the next wire.
|
||||
void NextWire();
|
||||
|
||||
//! Returns True if the wire bounding volume does not
|
||||
//! intersect the segment.
|
||||
Standard_EXPORT Standard_Boolean RejectWire (const gp_Lin2d& L, const Standard_Real Par) const;
|
||||
|
||||
//! Starts an exploration of the edges of the current
|
||||
//! wire.
|
||||
Standard_EXPORT void InitEdges();
|
||||
|
||||
//! Returns True if there is a current edge.
|
||||
Standard_Boolean MoreEdges() const;
|
||||
|
||||
//! Sets the explorer to the next edge.
|
||||
void NextEdge();
|
||||
|
||||
//! Returns True if the edge bounding volume does not
|
||||
//! intersect the segment.
|
||||
Standard_EXPORT Standard_Boolean RejectEdge (const gp_Lin2d& L, const Standard_Real Par) const;
|
||||
|
||||
//! Current edge in current wire and its orientation.
|
||||
Standard_EXPORT void CurrentEdge (BRepClass_Edge& E, TopAbs_Orientation& Or) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopoDS_Face myFace;
|
||||
TopExp_Explorer myWExplorer;
|
||||
TopExp_Explorer myEExplorer;
|
||||
Standard_Integer myCurEdgeInd;
|
||||
Standard_Real myCurEdgePar;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <BRepClass_FaceExplorer.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_FaceExplorer_HeaderFile
|
109
src/BRepClass/BRepClass_FacePassiveClassifier.hxx
Normal file
109
src/BRepClass/BRepClass_FacePassiveClassifier.hxx
Normal file
@@ -0,0 +1,109 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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 _BRepClass_FacePassiveClassifier_HeaderFile
|
||||
#define _BRepClass_FacePassiveClassifier_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <TopTrans_CurveTransition.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
class Standard_DomainError;
|
||||
class BRepClass_Edge;
|
||||
class BRepClass_Intersector;
|
||||
class gp_Lin2d;
|
||||
|
||||
|
||||
|
||||
class BRepClass_FacePassiveClassifier
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_FacePassiveClassifier();
|
||||
|
||||
Standard_EXPORT void Reset (const gp_Lin2d& L, const Standard_Real P, const Standard_Real Tol);
|
||||
|
||||
Standard_EXPORT void Compare (const BRepClass_Edge& E, const TopAbs_Orientation Or);
|
||||
|
||||
Standard_Real Parameter() const;
|
||||
|
||||
BRepClass_Intersector& Intersector();
|
||||
|
||||
Standard_Integer ClosestIntersection() const;
|
||||
|
||||
TopAbs_State State() const;
|
||||
|
||||
Standard_Boolean IsHeadOrEnd() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Boolean myIsSet;
|
||||
Standard_Boolean myFirstCompare;
|
||||
Standard_Boolean myFirstTrans;
|
||||
gp_Lin2d myLin;
|
||||
Standard_Real myParam;
|
||||
Standard_Real myTolerance;
|
||||
TopTrans_CurveTransition myTrans;
|
||||
BRepClass_Intersector myIntersector;
|
||||
Standard_Integer myClosest;
|
||||
TopAbs_State myState;
|
||||
Standard_Boolean myIsHeadOrEnd;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersector BRepClass_Intersector
|
||||
#define TheIntersector_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_Classifier2d BRepClass_FacePassiveClassifier
|
||||
#define TopClass_Classifier2d_hxx <BRepClass_FacePassiveClassifier.hxx>
|
||||
|
||||
#include <TopClass_Classifier2d.lxx>
|
||||
|
||||
#undef TheEdge
|
||||
#undef TheEdge_hxx
|
||||
#undef TheIntersector
|
||||
#undef TheIntersector_hxx
|
||||
#undef TopClass_Classifier2d
|
||||
#undef TopClass_Classifier2d_hxx
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_FacePassiveClassifier_HeaderFile
|
32
src/BRepClass/BRepClass_FacePassiveClassifier_0.cxx
Normal file
32
src/BRepClass/BRepClass_FacePassiveClassifier_0.cxx
Normal file
@@ -0,0 +1,32 @@
|
||||
// Created on: 1992-11-18
|
||||
// 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.
|
||||
|
||||
#include <BRepClass_FacePassiveClassifier.hxx>
|
||||
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
|
||||
|
||||
#define TheEdge BRepClass_Edge
|
||||
#define TheEdge_hxx <BRepClass_Edge.hxx>
|
||||
#define TheIntersector BRepClass_Intersector
|
||||
#define TheIntersector_hxx <BRepClass_Intersector.hxx>
|
||||
#define TopClass_Classifier2d BRepClass_FacePassiveClassifier
|
||||
#define TopClass_Classifier2d_hxx <BRepClass_FacePassiveClassifier.hxx>
|
||||
#include <TopClass_Classifier2d.gxx>
|
||||
|
@@ -1,47 +0,0 @@
|
||||
-- Created on: 1992-11-19
|
||||
-- Created by: Remi LEQUETTE
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Intersector from BRepClass
|
||||
inherits IntConicCurveOfGInter from Geom2dInt
|
||||
|
||||
---Purpose: Intersect an Edge with a segment.
|
||||
-- Implement the Intersector2d required by the classifier.
|
||||
|
||||
uses
|
||||
Lin2d from gp,
|
||||
Dir2d from gp,
|
||||
Edge from BRepClass
|
||||
|
||||
is
|
||||
Create returns Intersector from BRepClass;
|
||||
|
||||
Perform(me : in out;
|
||||
L : Lin2d from gp; P : Real; Tol : Real;
|
||||
E : Edge from BRepClass)
|
||||
---Purpose: Intersect the line segment and the edge.
|
||||
is static;
|
||||
|
||||
LocalGeometry(me; E : Edge from BRepClass;
|
||||
U : Real;
|
||||
T : out Dir2d from gp;
|
||||
N : out Dir2d from gp;
|
||||
C : out Real)
|
||||
---Purpose: Returns in <T>, <N> and <C> the tangent, normal
|
||||
-- and curvature of the edge <E> at parameter value
|
||||
-- <U>.
|
||||
is static;
|
||||
|
||||
end Intersector;
|
@@ -14,25 +14,26 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepClass_Intersector.ixx>
|
||||
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_Curve2d.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <IntRes2d_Domain.hxx>
|
||||
#include <Geom2dLProp_CLProps2d.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <BRepClass_Edge.hxx>
|
||||
#include <BRepClass_Intersector.hxx>
|
||||
#include <ElCLib.hxx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <Geom2d_Line.hxx>
|
||||
|
||||
#include <Geom2dInt_GInter.hxx>
|
||||
|
||||
#include <Extrema_ExtPC2d.hxx>
|
||||
#include <IntRes2d_Transition.hxx>
|
||||
#include <Geom2d_Curve.hxx>
|
||||
#include <Geom2d_Line.hxx>
|
||||
#include <Geom2dInt_GInter.hxx>
|
||||
#include <Geom2dLProp_CLProps2d.hxx>
|
||||
#include <gp_Dir2d.hxx>
|
||||
#include <gp_Lin2d.hxx>
|
||||
#include <IntRes2d_Domain.hxx>
|
||||
#include <IntRes2d_IntersectionPoint.hxx>
|
||||
#include <IntRes2d_Transition.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
static
|
||||
void RefineTolerance(const TopoDS_Face& aF,
|
||||
|
73
src/BRepClass/BRepClass_Intersector.hxx
Normal file
73
src/BRepClass/BRepClass_Intersector.hxx
Normal file
@@ -0,0 +1,73 @@
|
||||
// Created on: 1992-11-19
|
||||
// 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 _BRepClass_Intersector_HeaderFile
|
||||
#define _BRepClass_Intersector_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Geom2dInt_IntConicCurveOfGInter.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class gp_Lin2d;
|
||||
class BRepClass_Edge;
|
||||
class gp_Dir2d;
|
||||
|
||||
|
||||
//! Intersect an Edge with a segment.
|
||||
//! Implement the Intersector2d required by the classifier.
|
||||
class BRepClass_Intersector : public Geom2dInt_IntConicCurveOfGInter
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepClass_Intersector();
|
||||
|
||||
//! Intersect the line segment and the edge.
|
||||
Standard_EXPORT void Perform (const gp_Lin2d& L, const Standard_Real P, const Standard_Real Tol, const BRepClass_Edge& E);
|
||||
|
||||
//! Returns in <T>, <N> and <C> the tangent, normal
|
||||
//! and curvature of the edge <E> at parameter value
|
||||
//! <U>.
|
||||
Standard_EXPORT void LocalGeometry (const BRepClass_Edge& E, const Standard_Real U, gp_Dir2d& T, gp_Dir2d& N, Standard_Real& C) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepClass_Intersector_HeaderFile
|
16
src/BRepClass/FILES
Normal file
16
src/BRepClass/FILES
Normal file
@@ -0,0 +1,16 @@
|
||||
BRepClass_Edge.cxx
|
||||
BRepClass_Edge.hxx
|
||||
BRepClass_Edge.lxx
|
||||
BRepClass_FaceClassifier.cxx
|
||||
BRepClass_FaceClassifier.hxx
|
||||
BRepClass_FaceExplorer.cxx
|
||||
BRepClass_FaceExplorer.hxx
|
||||
BRepClass_FaceExplorer.lxx
|
||||
BRepClass_FacePassiveClassifier.hxx
|
||||
BRepClass_FacePassiveClassifier_0.cxx
|
||||
BRepClass_FClass2dOfFClassifier.hxx
|
||||
BRepClass_FClass2dOfFClassifier_0.cxx
|
||||
BRepClass_FClassifier.hxx
|
||||
BRepClass_FClassifier_0.cxx
|
||||
BRepClass_Intersector.cxx
|
||||
BRepClass_Intersector.hxx
|
Reference in New Issue
Block a user