// Created on: 1993-07-06 // Created by: Yves FRICAUD // 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 _BRepMAT2d_BisectingLocus_HeaderFile #define _BRepMAT2d_BisectingLocus_HeaderFile #include #include #include #include #include #include #include #include #include #include class MAT_Graph; class BRepMAT2d_Explorer; class MAT_BasicElt; class Geom2d_Geometry; class gp_Pnt2d; class MAT_Node; class Bisector_Bisec; class MAT_Arc; //! BisectingLocus generates and contains the Bisecting_Locus //! of a set of lines from Geom2d, defined by . //! //! If the set of lines contains closed lines: //! ------------------------------------------ //! These lines cut the plane in areas. //! One map can be computed for each area. //! //! Bisecting locus computes a map in an area. //! The area is defined by a side (MAT_Left,MAT_Right) //! on one of the closed lines. //! //! If the set of lines contains only open lines: //! -------------------------------------------- //! the map recovers all the plane. //! //! Warning: Assume the orientation of the closed lines are //! compatible. //! //! Assume the explo contains only lines located in the //! area where the bisecting locus will be computed. //! //! Assume a line don't cross itself or an other line. //! //! Remark: //! the curves coming from the explorer can be //! decomposed in different parts. It the case for the //! curves other than circles or lines. //! //! The map of bisecting locus is described by a graph. //! - The BasicsElements correspond to elements on //! the figure described by the Explorer from BRepMAT2d. //! - The Arcs correspond to the bisectors. //! - The Nodes are the extremities of the arcs. class BRepMAT2d_BisectingLocus { public: DEFINE_STANDARD_ALLOC Standard_EXPORT BRepMAT2d_BisectingLocus(); //! Computation of the Bisector_Locus in a set of Lines //! defined in . //! The bisecting locus are computed on the side