mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-24 13:50:49 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,10 +1,37 @@
|
||||
MAT_SequenceOfBasicElt.hxx
|
||||
MAT_SequenceOfArc.hxx
|
||||
MAT_DataMapOfIntegerArc.hxx
|
||||
MAT_Arc.cxx
|
||||
MAT_Arc.hxx
|
||||
MAT_BasicElt.cxx
|
||||
MAT_BasicElt.hxx
|
||||
MAT_Bisector.cxx
|
||||
MAT_Bisector.hxx
|
||||
MAT_DataMapIteratorOfDataMapOfIntegerArc.hxx
|
||||
MAT_DataMapOfIntegerBasicElt.hxx
|
||||
MAT_DataMapIteratorOfDataMapOfIntegerBasicElt.hxx
|
||||
MAT_DataMapOfIntegerNode.hxx
|
||||
MAT_DataMapIteratorOfDataMapOfIntegerNode.hxx
|
||||
MAT_DataMapOfIntegerBisector.hxx
|
||||
MAT_DataMapIteratorOfDataMapOfIntegerBisector.hxx
|
||||
MAT_DataMapIteratorOfDataMapOfIntegerNode.hxx
|
||||
MAT_DataMapOfIntegerArc.hxx
|
||||
MAT_DataMapOfIntegerBasicElt.hxx
|
||||
MAT_DataMapOfIntegerBisector.hxx
|
||||
MAT_DataMapOfIntegerNode.hxx
|
||||
MAT_Edge.cxx
|
||||
MAT_Edge.hxx
|
||||
MAT_Graph.cxx
|
||||
MAT_Graph.hxx
|
||||
MAT_ListOfBisector.hxx
|
||||
MAT_ListOfBisector_0.cxx
|
||||
MAT_ListOfEdge.hxx
|
||||
MAT_ListOfEdge_0.cxx
|
||||
MAT_Node.cxx
|
||||
MAT_Node.hxx
|
||||
MAT_SequenceOfArc.hxx
|
||||
MAT_SequenceOfBasicElt.hxx
|
||||
MAT_Side.hxx
|
||||
MAT_TList.gxx
|
||||
MAT_TList.lxx
|
||||
MAT_TListNode.gxx
|
||||
MAT_TListNode.lxx
|
||||
MAT_TListNodeOfListOfBisector.hxx
|
||||
MAT_TListNodeOfListOfBisector_0.cxx
|
||||
MAT_TListNodeOfListOfEdge.hxx
|
||||
MAT_TListNodeOfListOfEdge_0.cxx
|
||||
MAT_Zone.cxx
|
||||
MAT_Zone.hxx
|
||||
|
@@ -1,81 +0,0 @@
|
||||
-- Created on: 1992-09-22
|
||||
-- Created by: Gilles DEBARBOUILLE
|
||||
-- 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 MAT
|
||||
|
||||
uses
|
||||
MMgt,
|
||||
TCollection,
|
||||
TColStd
|
||||
|
||||
is
|
||||
|
||||
--------------------------------------------------
|
||||
-- Classes of exploration of the Bisecting Locus.
|
||||
--------------------------------------------------
|
||||
enumeration Side is Left,Right end Side;
|
||||
--- Purpose: Definition on the Left and the Right on the Fig.
|
||||
|
||||
class Graph;
|
||||
|
||||
class Arc;
|
||||
|
||||
class Node;
|
||||
|
||||
class BasicElt;
|
||||
|
||||
class Zone;
|
||||
|
||||
imported SequenceOfBasicElt;
|
||||
|
||||
imported SequenceOfArc;
|
||||
|
||||
imported DataMapOfIntegerArc;
|
||||
|
||||
imported DataMapIteratorOfDataMapOfIntegerArc;
|
||||
|
||||
imported DataMapOfIntegerBasicElt;
|
||||
|
||||
imported DataMapIteratorOfDataMapOfIntegerBasicElt;
|
||||
|
||||
imported DataMapOfIntegerNode;
|
||||
|
||||
imported DataMapIteratorOfDataMapOfIntegerNode;
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
-- Classes used for the computation of the Mat.
|
||||
---------------------------------------------------
|
||||
|
||||
generic class TList, TListNode;
|
||||
|
||||
class Bisector;
|
||||
|
||||
imported DataMapOfIntegerBisector;
|
||||
|
||||
imported DataMapIteratorOfDataMapOfIntegerBisector;
|
||||
|
||||
class ListOfBisector instantiates TList from MAT (Bisector from MAT);
|
||||
|
||||
class Edge;
|
||||
|
||||
class ListOfEdge instantiates TList from MAT (Edge from MAT);
|
||||
|
||||
end MAT;
|
||||
|
||||
|
||||
|
||||
|
@@ -1,147 +0,0 @@
|
||||
-- Created on: 1993-04-30
|
||||
-- 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.
|
||||
|
||||
class Arc from MAT
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
---Purpose: An Arc is associated to each Bisecting of the mat.
|
||||
|
||||
uses
|
||||
|
||||
BasicElt from MAT,
|
||||
Node from MAT,
|
||||
Side from MAT,
|
||||
Address from Standard
|
||||
|
||||
|
||||
raises
|
||||
|
||||
DomainError from Standard
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create ( ArcIndex : Integer;
|
||||
GeomIndex : Integer;
|
||||
FirstElement : BasicElt from MAT;
|
||||
SecondElement : BasicElt from MAT )
|
||||
--- Purpose :
|
||||
returns Arc;
|
||||
|
||||
Index (me)
|
||||
--- Purpose : Returns the index of <me> in Graph.theArcs.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
GeomIndex(me)
|
||||
--- Purpose : Returns the index associated of the geometric
|
||||
-- representation of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
FirstElement(me)
|
||||
--- Purpose : Returns one of the BasicElt equidistant from <me>.
|
||||
returns BasicElt from MAT
|
||||
is static;
|
||||
|
||||
SecondElement(me)
|
||||
--- Purpose : Returns the other BasicElt equidistant from <me>.
|
||||
returns BasicElt from MAT
|
||||
is static;
|
||||
|
||||
FirstNode (me)
|
||||
--- Purpose : Returns one Node extremity of <me>.
|
||||
returns Node from MAT
|
||||
is static;
|
||||
|
||||
SecondNode (me)
|
||||
--- Purpose : Returns the other Node extremity of <me>.
|
||||
returns Node from MAT
|
||||
is static;
|
||||
|
||||
TheOtherNode (me ; aNode : Node)
|
||||
returns Node from MAT
|
||||
--- Purpose : an Arc has two Node, if <aNode> egal one
|
||||
-- Returns the other.
|
||||
--
|
||||
raises
|
||||
DomainError from Standard
|
||||
---Purpose: if <aNode> is not oh <me>
|
||||
is static;
|
||||
|
||||
HasNeighbour(me ; aNode : Node ; aSide : Side)
|
||||
--- Purpose : Returnst True is there is an arc linked to
|
||||
-- the Node <aNode> located on the side <aSide> of <me>;
|
||||
returns Boolean from Standard
|
||||
raises
|
||||
DomainError from Standard
|
||||
---Purpose: if <aNode> is not on <me>
|
||||
is static;
|
||||
|
||||
Neighbour(me ; aNode : Node ; aSide : Side)
|
||||
--- Purpose : Returns the first arc linked to the Node <aNode>
|
||||
-- located on the side <aSide> of <me>;
|
||||
returns Arc from MAT
|
||||
raises
|
||||
DomainError from Standard
|
||||
---Purpose: if HasNeighbour() returns FALSE.
|
||||
is static;
|
||||
|
||||
SetIndex (me : mutable ; anInteger : Integer)
|
||||
is static;
|
||||
|
||||
SetGeomIndex(me : mutable ; anInteger : Integer)
|
||||
is static;
|
||||
|
||||
SetFirstElement (me : mutable ; aBasicElt : BasicElt from MAT)
|
||||
is static;
|
||||
|
||||
SetSecondElement (me : mutable ; aBasicElt : BasicElt from MAT)
|
||||
is static;
|
||||
|
||||
SetFirstNode (me : mutable ; aNode : Node from MAT)
|
||||
is static;
|
||||
|
||||
SetSecondNode (me : mutable ; aNode : Node from MAT)
|
||||
is static;
|
||||
|
||||
SetFirstArc (me : mutable ; aSide : Side ; anArc : Arc)
|
||||
is static;
|
||||
|
||||
SetSecondArc (me : mutable ; aSide : Side ; anArc : Arc)
|
||||
is static;
|
||||
|
||||
SetNeighbour (me : mutable ; aSide : Side ; aNode : Node ; anArc : Arc)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
arcIndex : Integer;
|
||||
geomIndex : Integer;
|
||||
firstElement : BasicElt from MAT;
|
||||
secondElement : BasicElt from MAT;
|
||||
firstNode : Node from MAT;
|
||||
secondNode : Node from MAT;
|
||||
firstArcLeft : Address from Standard;
|
||||
firstArcRight : Address from Standard;
|
||||
secondArcRight : Address from Standard;
|
||||
secondArcLeft : Address from Standard;
|
||||
|
||||
end Arc;
|
||||
|
||||
|
@@ -14,8 +14,12 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_Arc.ixx>
|
||||
|
||||
#include <MAT_Arc.hxx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
#include <MAT_Node.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
//========================================================================
|
||||
// function:
|
||||
|
131
src/MAT/MAT_Arc.hxx
Normal file
131
src/MAT/MAT_Arc.hxx
Normal file
@@ -0,0 +1,131 @@
|
||||
// Created on: 1993-04-30
|
||||
// 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 _MAT_Arc_HeaderFile
|
||||
#define _MAT_Arc_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Address.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <MAT_Side.hxx>
|
||||
class MAT_BasicElt;
|
||||
class MAT_Node;
|
||||
class Standard_DomainError;
|
||||
|
||||
|
||||
class MAT_Arc;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Arc, MMgt_TShared)
|
||||
|
||||
//! An Arc is associated to each Bisecting of the mat.
|
||||
class MAT_Arc : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_Arc(const Standard_Integer ArcIndex, const Standard_Integer GeomIndex, const Handle(MAT_BasicElt)& FirstElement, const Handle(MAT_BasicElt)& SecondElement);
|
||||
|
||||
//! Returns the index of <me> in Graph.theArcs.
|
||||
Standard_EXPORT Standard_Integer Index() const;
|
||||
|
||||
//! Returns the index associated of the geometric
|
||||
//! representation of <me>.
|
||||
Standard_EXPORT Standard_Integer GeomIndex() const;
|
||||
|
||||
//! Returns one of the BasicElt equidistant from <me>.
|
||||
Standard_EXPORT Handle(MAT_BasicElt) FirstElement() const;
|
||||
|
||||
//! Returns the other BasicElt equidistant from <me>.
|
||||
Standard_EXPORT Handle(MAT_BasicElt) SecondElement() const;
|
||||
|
||||
//! Returns one Node extremity of <me>.
|
||||
Standard_EXPORT Handle(MAT_Node) FirstNode() const;
|
||||
|
||||
//! Returns the other Node extremity of <me>.
|
||||
Standard_EXPORT Handle(MAT_Node) SecondNode() const;
|
||||
|
||||
//! an Arc has two Node, if <aNode> egal one
|
||||
//! Returns the other.
|
||||
//!
|
||||
//! if <aNode> is not oh <me>
|
||||
Standard_EXPORT Handle(MAT_Node) TheOtherNode (const Handle(MAT_Node)& aNode) const;
|
||||
|
||||
//! Returnst True is there is an arc linked to
|
||||
//! the Node <aNode> located on the side <aSide> of <me>;
|
||||
//! if <aNode> is not on <me>
|
||||
Standard_EXPORT Standard_Boolean HasNeighbour (const Handle(MAT_Node)& aNode, const MAT_Side aSide) const;
|
||||
|
||||
//! Returns the first arc linked to the Node <aNode>
|
||||
//! located on the side <aSide> of <me>;
|
||||
//! if HasNeighbour() returns FALSE.
|
||||
Standard_EXPORT Handle(MAT_Arc) Neighbour (const Handle(MAT_Node)& aNode, const MAT_Side aSide) const;
|
||||
|
||||
Standard_EXPORT void SetIndex (const Standard_Integer anInteger);
|
||||
|
||||
Standard_EXPORT void SetGeomIndex (const Standard_Integer anInteger);
|
||||
|
||||
Standard_EXPORT void SetFirstElement (const Handle(MAT_BasicElt)& aBasicElt);
|
||||
|
||||
Standard_EXPORT void SetSecondElement (const Handle(MAT_BasicElt)& aBasicElt);
|
||||
|
||||
Standard_EXPORT void SetFirstNode (const Handle(MAT_Node)& aNode);
|
||||
|
||||
Standard_EXPORT void SetSecondNode (const Handle(MAT_Node)& aNode);
|
||||
|
||||
Standard_EXPORT void SetFirstArc (const MAT_Side aSide, const Handle(MAT_Arc)& anArc);
|
||||
|
||||
Standard_EXPORT void SetSecondArc (const MAT_Side aSide, const Handle(MAT_Arc)& anArc);
|
||||
|
||||
Standard_EXPORT void SetNeighbour (const MAT_Side aSide, const Handle(MAT_Node)& aNode, const Handle(MAT_Arc)& anArc);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Arc,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Integer arcIndex;
|
||||
Standard_Integer geomIndex;
|
||||
Handle(MAT_BasicElt) firstElement;
|
||||
Handle(MAT_BasicElt) secondElement;
|
||||
Handle(MAT_Node) firstNode;
|
||||
Handle(MAT_Node) secondNode;
|
||||
Standard_Address firstArcLeft;
|
||||
Standard_Address firstArcRight;
|
||||
Standard_Address secondArcRight;
|
||||
Standard_Address secondArcLeft;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Arc_HeaderFile
|
@@ -1,78 +0,0 @@
|
||||
-- Created on: 1993-04-30
|
||||
-- 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.
|
||||
|
||||
class BasicElt from MAT
|
||||
|
||||
---Purpose: A BasicELt is associated to each elemtary
|
||||
-- constituant of the figure.
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
uses
|
||||
Arc from MAT,
|
||||
Side from MAT,
|
||||
Address from Standard
|
||||
is
|
||||
|
||||
Create (anInteger : Integer)
|
||||
--- Purpose : Constructor, <anInteger> is the <index> of <me>.
|
||||
returns BasicElt from MAT;
|
||||
|
||||
StartArc(me)
|
||||
--- Purpose : Return <startArcLeft> or <startArcRight> corresponding
|
||||
-- to <aSide>.
|
||||
returns Arc is static;
|
||||
|
||||
EndArc(me)
|
||||
--- Purpose : Return <endArcLeft> or <endArcRight> corresponding
|
||||
-- to <aSide>.
|
||||
returns Arc is static;
|
||||
|
||||
Index (me)
|
||||
--- Purpose : Return the <index> of <me> in Graph.TheBasicElts.
|
||||
returns Integer is static;
|
||||
|
||||
GeomIndex(me)
|
||||
--- Purpose : Return the <GeomIndex> of <me>.
|
||||
returns Integer is static;
|
||||
|
||||
SetStartArc (me : mutable ; anArc : Arc)
|
||||
is static;
|
||||
|
||||
SetEndArc (me : mutable ; anArc : Arc)
|
||||
is static;
|
||||
|
||||
SetIndex (me : mutable ; anInteger : Integer)
|
||||
is static;
|
||||
|
||||
SetGeomIndex(me : mutable ; anInteger : Integer)
|
||||
is static;
|
||||
|
||||
fields
|
||||
startLeftArc : Address from Standard;
|
||||
endLeftArc : Address from Standard;
|
||||
index : Integer;
|
||||
geomIndex : Integer;
|
||||
|
||||
end BasicElt;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -14,9 +14,12 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_BasicElt.ixx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
|
||||
#include <MAT_Arc.hxx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
#include <MAT_Node.hxx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
//========================================================================
|
||||
// function:
|
||||
|
92
src/MAT/MAT_BasicElt.hxx
Normal file
92
src/MAT/MAT_BasicElt.hxx
Normal file
@@ -0,0 +1,92 @@
|
||||
// Created on: 1993-04-30
|
||||
// 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 _MAT_BasicElt_HeaderFile
|
||||
#define _MAT_BasicElt_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Address.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class MAT_Arc;
|
||||
|
||||
|
||||
class MAT_BasicElt;
|
||||
DEFINE_STANDARD_HANDLE(MAT_BasicElt, MMgt_TShared)
|
||||
|
||||
//! A BasicELt is associated to each elemtary
|
||||
//! constituant of the figure.
|
||||
class MAT_BasicElt : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Constructor, <anInteger> is the <index> of <me>.
|
||||
Standard_EXPORT MAT_BasicElt(const Standard_Integer anInteger);
|
||||
|
||||
//! Return <startArcLeft> or <startArcRight> corresponding
|
||||
//! to <aSide>.
|
||||
Standard_EXPORT Handle(MAT_Arc) StartArc() const;
|
||||
|
||||
//! Return <endArcLeft> or <endArcRight> corresponding
|
||||
//! to <aSide>.
|
||||
Standard_EXPORT Handle(MAT_Arc) EndArc() const;
|
||||
|
||||
//! Return the <index> of <me> in Graph.TheBasicElts.
|
||||
Standard_EXPORT Standard_Integer Index() const;
|
||||
|
||||
//! Return the <GeomIndex> of <me>.
|
||||
Standard_EXPORT Standard_Integer GeomIndex() const;
|
||||
|
||||
Standard_EXPORT void SetStartArc (const Handle(MAT_Arc)& anArc);
|
||||
|
||||
Standard_EXPORT void SetEndArc (const Handle(MAT_Arc)& anArc);
|
||||
|
||||
Standard_EXPORT void SetIndex (const Standard_Integer anInteger);
|
||||
|
||||
Standard_EXPORT void SetGeomIndex (const Standard_Integer anInteger);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_BasicElt,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Address startLeftArc;
|
||||
Standard_Address endLeftArc;
|
||||
Standard_Integer index;
|
||||
Standard_Integer geomIndex;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_BasicElt_HeaderFile
|
@@ -1,169 +0,0 @@
|
||||
-- Created on: 1992-09-30
|
||||
-- Created by: Gilles DEBARBOUILLE
|
||||
-- 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 Bisector from MAT
|
||||
|
||||
---Purpose:
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
uses
|
||||
|
||||
ListOfBisector from MAT,
|
||||
Edge from MAT
|
||||
|
||||
is
|
||||
|
||||
Create
|
||||
|
||||
---Purpose:
|
||||
|
||||
returns Bisector from MAT;
|
||||
|
||||
AddBisector(me ; abisector : any Bisector from MAT)
|
||||
|
||||
is static;
|
||||
|
||||
List(me) returns any ListOfBisector from MAT
|
||||
|
||||
is static;
|
||||
|
||||
FirstBisector(me) returns any Bisector from MAT
|
||||
|
||||
is static;
|
||||
|
||||
LastBisector(me) returns any Bisector from MAT
|
||||
|
||||
is static;
|
||||
|
||||
BisectorNumber(me : mutable ; anumber : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
IndexNumber(me : mutable ; anumber : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
FirstEdge(me : mutable ; anedge : any Edge from MAT)
|
||||
|
||||
is static;
|
||||
|
||||
SecondEdge(me : mutable ; anedge : any Edge from MAT)
|
||||
|
||||
is static;
|
||||
|
||||
IssuePoint(me : mutable ; apoint : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
EndPoint(me : mutable ; apoint : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
DistIssuePoint(me : mutable ; areal : Real)
|
||||
|
||||
is static;
|
||||
|
||||
FirstVector(me : mutable ; avector : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
SecondVector(me : mutable ; avector : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
Sense(me : mutable ; asense : Real)
|
||||
|
||||
is static;
|
||||
|
||||
FirstParameter(me : mutable ; aparameter : Real)
|
||||
|
||||
is static;
|
||||
|
||||
SecondParameter(me : mutable ; aparameter : Real)
|
||||
|
||||
is static;
|
||||
|
||||
BisectorNumber(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
IndexNumber(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
FirstEdge(me) returns any Edge from MAT
|
||||
|
||||
is static;
|
||||
|
||||
SecondEdge(me) returns any Edge from MAT
|
||||
|
||||
is static;
|
||||
|
||||
IssuePoint(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
EndPoint(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
DistIssuePoint(me) returns Real
|
||||
|
||||
is static;
|
||||
|
||||
FirstVector(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
SecondVector(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
Sense(me) returns Real
|
||||
|
||||
is static;
|
||||
|
||||
FirstParameter(me) returns Real
|
||||
|
||||
is static;
|
||||
|
||||
SecondParameter(me) returns Real
|
||||
|
||||
is static;
|
||||
|
||||
Dump(me ; ashift , alevel : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
thebisectornumber : Integer;
|
||||
theindexnumber : Integer;
|
||||
thefirstedge : Edge from MAT;
|
||||
thesecondedge : Edge from MAT;
|
||||
thelistofbisectors : ListOfBisector from MAT;
|
||||
theissuepoint : Integer;
|
||||
theendpoint : Integer;
|
||||
thefirstvector : Integer;
|
||||
thesecondvector : Integer;
|
||||
thesense : Real;
|
||||
thefirstparameter : Real;
|
||||
thesecondparameter : Real;
|
||||
distissuepoint : Real;
|
||||
end Bisector;
|
@@ -14,9 +14,12 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_Bisector.ixx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <MAT_Bisector.hxx>
|
||||
#include <MAT_Edge.hxx>
|
||||
#include <MAT_ListOfBisector.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
MAT_Bisector::MAT_Bisector()
|
||||
{
|
||||
|
136
src/MAT/MAT_Bisector.hxx
Normal file
136
src/MAT/MAT_Bisector.hxx
Normal file
@@ -0,0 +1,136 @@
|
||||
// Created on: 1992-09-30
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_Bisector_HeaderFile
|
||||
#define _MAT_Bisector_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class MAT_Edge;
|
||||
class MAT_ListOfBisector;
|
||||
|
||||
|
||||
class MAT_Bisector;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Bisector, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_Bisector : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_Bisector();
|
||||
|
||||
Standard_EXPORT void AddBisector (const Handle(MAT_Bisector)& abisector) const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_ListOfBisector) List() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) FirstBisector() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) LastBisector() const;
|
||||
|
||||
Standard_EXPORT void BisectorNumber (const Standard_Integer anumber);
|
||||
|
||||
Standard_EXPORT void IndexNumber (const Standard_Integer anumber);
|
||||
|
||||
Standard_EXPORT void FirstEdge (const Handle(MAT_Edge)& anedge);
|
||||
|
||||
Standard_EXPORT void SecondEdge (const Handle(MAT_Edge)& anedge);
|
||||
|
||||
Standard_EXPORT void IssuePoint (const Standard_Integer apoint);
|
||||
|
||||
Standard_EXPORT void EndPoint (const Standard_Integer apoint);
|
||||
|
||||
Standard_EXPORT void DistIssuePoint (const Standard_Real areal);
|
||||
|
||||
Standard_EXPORT void FirstVector (const Standard_Integer avector);
|
||||
|
||||
Standard_EXPORT void SecondVector (const Standard_Integer avector);
|
||||
|
||||
Standard_EXPORT void Sense (const Standard_Real asense);
|
||||
|
||||
Standard_EXPORT void FirstParameter (const Standard_Real aparameter);
|
||||
|
||||
Standard_EXPORT void SecondParameter (const Standard_Real aparameter);
|
||||
|
||||
Standard_EXPORT Standard_Integer BisectorNumber() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer IndexNumber() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) FirstEdge() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) SecondEdge() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer IssuePoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer EndPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Real DistIssuePoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstVector() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondVector() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Sense() const;
|
||||
|
||||
Standard_EXPORT Standard_Real FirstParameter() const;
|
||||
|
||||
Standard_EXPORT Standard_Real SecondParameter() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer ashift, const Standard_Integer alevel) const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Bisector,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Integer thebisectornumber;
|
||||
Standard_Integer theindexnumber;
|
||||
Handle(MAT_Edge) thefirstedge;
|
||||
Handle(MAT_Edge) thesecondedge;
|
||||
Handle(MAT_ListOfBisector) thelistofbisectors;
|
||||
Standard_Integer theissuepoint;
|
||||
Standard_Integer theendpoint;
|
||||
Standard_Integer thefirstvector;
|
||||
Standard_Integer thesecondvector;
|
||||
Standard_Real thesense;
|
||||
Standard_Real thefirstparameter;
|
||||
Standard_Real thesecondparameter;
|
||||
Standard_Real distissuepoint;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Bisector_HeaderFile
|
@@ -1,88 +0,0 @@
|
||||
-- Created on: 1992-10-14
|
||||
-- Created by: Gilles DEBARBOUILLE
|
||||
-- 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 MAT
|
||||
|
||||
---Purpose:
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
uses
|
||||
|
||||
Bisector from MAT,
|
||||
ListOfEdge from MAT
|
||||
|
||||
--raises
|
||||
|
||||
is
|
||||
|
||||
Create returns Edge from MAT;
|
||||
|
||||
EdgeNumber(me : mutable ; anumber : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
FirstBisector(me : mutable ; abisector : any Bisector from MAT)
|
||||
|
||||
is static;
|
||||
|
||||
SecondBisector(me : mutable ; abisector : any Bisector from MAT)
|
||||
|
||||
is static;
|
||||
|
||||
Distance(me : mutable ; adistance : Real)
|
||||
|
||||
is static;
|
||||
|
||||
IntersectionPoint(me : mutable ; apoint : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
EdgeNumber(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
FirstBisector(me) returns any Bisector from MAT
|
||||
|
||||
is static;
|
||||
|
||||
SecondBisector(me) returns any Bisector from MAT
|
||||
|
||||
is static;
|
||||
|
||||
Distance(me) returns Real
|
||||
|
||||
is static;
|
||||
|
||||
IntersectionPoint(me) returns Integer
|
||||
|
||||
is static;
|
||||
|
||||
Dump(me ; ashift , alevel : Integer)
|
||||
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
theedgenumber : Integer;
|
||||
thefirstbisector : Bisector from MAT;
|
||||
thesecondbisector : Bisector from MAT;
|
||||
thedistance : Real;
|
||||
theintersectionpoint : Integer;
|
||||
|
||||
end Edge;
|
@@ -14,7 +14,10 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_Edge.ixx>
|
||||
|
||||
#include <MAT_Bisector.hxx>
|
||||
#include <MAT_Edge.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
MAT_Edge::MAT_Edge()
|
||||
{
|
||||
|
91
src/MAT/MAT_Edge.hxx
Normal file
91
src/MAT/MAT_Edge.hxx
Normal file
@@ -0,0 +1,91 @@
|
||||
// Created on: 1992-10-14
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_Edge_HeaderFile
|
||||
#define _MAT_Edge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class MAT_Bisector;
|
||||
|
||||
|
||||
class MAT_Edge;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Edge, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_Edge : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_Edge();
|
||||
|
||||
Standard_EXPORT void EdgeNumber (const Standard_Integer anumber);
|
||||
|
||||
Standard_EXPORT void FirstBisector (const Handle(MAT_Bisector)& abisector);
|
||||
|
||||
Standard_EXPORT void SecondBisector (const Handle(MAT_Bisector)& abisector);
|
||||
|
||||
Standard_EXPORT void Distance (const Standard_Real adistance);
|
||||
|
||||
Standard_EXPORT void IntersectionPoint (const Standard_Integer apoint);
|
||||
|
||||
Standard_EXPORT Standard_Integer EdgeNumber() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) FirstBisector() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) SecondBisector() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Distance() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer IntersectionPoint() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer ashift, const Standard_Integer alevel) const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Edge,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Integer theedgenumber;
|
||||
Handle(MAT_Bisector) thefirstbisector;
|
||||
Handle(MAT_Bisector) thesecondbisector;
|
||||
Standard_Real thedistance;
|
||||
Standard_Integer theintersectionpoint;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Edge_HeaderFile
|
@@ -1,165 +0,0 @@
|
||||
-- Created on: 1993-04-29
|
||||
-- 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.
|
||||
|
||||
class Graph from MAT
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
---Purpose: The Class Graph permits the exploration of the
|
||||
-- Bisector Locus.
|
||||
|
||||
uses BasicElt from MAT,
|
||||
Node from MAT,
|
||||
Arc from MAT,
|
||||
DataMapOfIntegerArc from MAT,
|
||||
DataMapOfIntegerBasicElt from MAT,
|
||||
DataMapOfIntegerNode from MAT,
|
||||
ListOfBisector from MAT
|
||||
|
||||
is
|
||||
|
||||
Create returns Graph from MAT;
|
||||
--- Purpose : Empty constructor.
|
||||
|
||||
---Category: Computation
|
||||
|
||||
Perform(me : mutable ;
|
||||
SemiInfinite : Boolean ;
|
||||
TheRoots : ListOfBisector from MAT;
|
||||
NbBasicElts : Integer ;
|
||||
NbArcs : Integer )
|
||||
--- Purpose : Construct <me> from the result of the method
|
||||
-- <CreateMat> of the class <MAT> from <MAT>.
|
||||
--
|
||||
-- <SemiInfinite> : if some bisector are infinites.
|
||||
-- <TheRoots> : Set of the bisectors.
|
||||
-- <NbBasicElts> : Number of Basic Elements.
|
||||
-- <NbArcs> : Number of Arcs = Number of Bisectors.
|
||||
is static;
|
||||
|
||||
|
||||
---Category: Querying
|
||||
|
||||
Arc(me ; Index : Integer)
|
||||
--- Purpose : Return the Arc of index <Index> in <theArcs>.
|
||||
returns Arc from MAT
|
||||
is static;
|
||||
|
||||
BasicElt(me ; Index : Integer)
|
||||
--- Purpose : Return the BasicElt of index <Index> in <theBasicElts>.
|
||||
returns BasicElt from MAT
|
||||
is static;
|
||||
|
||||
Node(me ; Index : Integer)
|
||||
--- Purpose : Return the Node of index <Index> in <theNodes>.
|
||||
returns Node from MAT
|
||||
is static;
|
||||
|
||||
NumberOfArcs (me)
|
||||
--- Purpose : Return the number of arcs of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
NumberOfNodes (me)
|
||||
--- Purpose : Return the number of nodes of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
NumberOfBasicElts (me)
|
||||
--- Purpose : Return the number of basic elements of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
NumberOfInfiniteNodes (me)
|
||||
--- Purpose : Return the number of infinites nodes of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
---Category: Modification
|
||||
|
||||
FusionOfBasicElts (me : mutable;
|
||||
IndexElt1 : Integer from Standard;
|
||||
IndexElt2 : Integer from Standard;
|
||||
MergeArc1 : out Boolean from Standard;
|
||||
GeomIndexArc1 : out Integer from Standard;
|
||||
GeomIndexArc2 : out Integer from Standard;
|
||||
MergeArc2 : out Boolean from Standard;
|
||||
GeomIndexArc3 : out Integer from Standard;
|
||||
GeomIndexArc4 : out Integer from Standard)
|
||||
|
||||
---Purpose: Merge two BasicElts. The End of the BasicElt Elt1
|
||||
-- of IndexElt1 becomes The End of the BasicElt Elt2
|
||||
-- of IndexElt2. Elt2 is replaced in the arcs by
|
||||
-- Elt1, Elt2 is eliminated.
|
||||
--
|
||||
-- <MergeArc1> is True if the fusion of the BasicElts =>
|
||||
-- a fusion of two Arcs which separated the same elements.
|
||||
-- In this case <GeomIndexArc1> and <GeomIndexArc2> are the
|
||||
-- Geometric Index of this arcs.
|
||||
--
|
||||
-- If the BasicElt corresponds to a close line ,
|
||||
-- the StartArc and the EndArc of Elt1 can separate the same
|
||||
-- elements .
|
||||
-- In this case there is a fusion of this arcs, <MergeArc2>
|
||||
-- is true and <GeomIndexArc3> and <GeomIndexArc4> are the
|
||||
-- Geometric Index of this arcs.
|
||||
|
||||
|
||||
is static;
|
||||
|
||||
FusionOfArcs (me : mutable;
|
||||
Arc1 : Arc from MAT;
|
||||
Arc2 : Arc from MAT)
|
||||
---Purpose: Merge two Arcs. the second node of <Arc2> becomes
|
||||
-- the first node of <Arc1>. Update of the first
|
||||
-- node and the neighbours of <Arc1>.
|
||||
-- <Arc2> is eliminated.
|
||||
is static private;
|
||||
|
||||
CompactArcs (me : mutable )
|
||||
is static ;
|
||||
|
||||
CompactNodes(me : mutable )
|
||||
is static ;
|
||||
|
||||
ChangeBasicElts(me : mutable ;
|
||||
NewMap : DataMapOfIntegerBasicElt from MAT)
|
||||
is static;
|
||||
|
||||
ChangeBasicElt(me : mutable ; Index : Integer)
|
||||
returns BasicElt from MAT
|
||||
is static;
|
||||
|
||||
UpDateNodes(me : mutable ; Index : in out Integer)
|
||||
is static private;
|
||||
|
||||
fields
|
||||
theArcs : DataMapOfIntegerArc from MAT;
|
||||
theBasicElts : DataMapOfIntegerBasicElt from MAT;
|
||||
theNodes : DataMapOfIntegerNode from MAT;
|
||||
numberOfArcs : Integer;
|
||||
numberOfNodes : Integer;
|
||||
numberOfBasicElts : Integer;
|
||||
numberOfInfiniteNodes : Integer;
|
||||
|
||||
end Graph;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -14,19 +14,21 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
# include <MAT_Graph.ixx>
|
||||
# include <MAT_SequenceOfArc.hxx>
|
||||
# include <MAT_Arc.hxx>
|
||||
# include <MAT_Node.hxx>
|
||||
# include <MAT_BasicElt.hxx>
|
||||
# include <MAT_Zone.hxx>
|
||||
# include <MAT_DataMapOfIntegerBasicElt.hxx>
|
||||
# include <MAT_DataMapIteratorOfDataMapOfIntegerBasicElt.hxx>
|
||||
# include <MAT_DataMapOfIntegerArc.hxx>
|
||||
# include <MAT_SequenceOfArc.hxx>
|
||||
# include <MAT_Bisector.hxx>
|
||||
# include <MAT_Edge.hxx>
|
||||
# include <Precision.hxx>
|
||||
|
||||
#include <MAT_Arc.hxx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
#include <MAT_Bisector.hxx>
|
||||
#include <MAT_DataMapIteratorOfDataMapOfIntegerBasicElt.hxx>
|
||||
#include <MAT_DataMapOfIntegerArc.hxx>
|
||||
#include <MAT_DataMapOfIntegerBasicElt.hxx>
|
||||
#include <MAT_Edge.hxx>
|
||||
#include <MAT_Graph.hxx>
|
||||
#include <MAT_ListOfBisector.hxx>
|
||||
#include <MAT_Node.hxx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <MAT_Zone.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
//------------------
|
||||
// functions static.
|
||||
|
143
src/MAT/MAT_Graph.hxx
Normal file
143
src/MAT/MAT_Graph.hxx
Normal file
@@ -0,0 +1,143 @@
|
||||
// Created on: 1993-04-29
|
||||
// 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 _MAT_Graph_HeaderFile
|
||||
#define _MAT_Graph_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_DataMapOfIntegerArc.hxx>
|
||||
#include <MAT_DataMapOfIntegerBasicElt.hxx>
|
||||
#include <MAT_DataMapOfIntegerNode.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class MAT_ListOfBisector;
|
||||
class MAT_Arc;
|
||||
class MAT_BasicElt;
|
||||
class MAT_Node;
|
||||
|
||||
|
||||
class MAT_Graph;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Graph, MMgt_TShared)
|
||||
|
||||
//! The Class Graph permits the exploration of the
|
||||
//! Bisector Locus.
|
||||
class MAT_Graph : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Empty constructor.
|
||||
Standard_EXPORT MAT_Graph();
|
||||
|
||||
//! Construct <me> from the result of the method
|
||||
//! <CreateMat> of the class <MAT> from <MAT>.
|
||||
//!
|
||||
//! <SemiInfinite> : if some bisector are infinites.
|
||||
//! <TheRoots> : Set of the bisectors.
|
||||
//! <NbBasicElts> : Number of Basic Elements.
|
||||
//! <NbArcs> : Number of Arcs = Number of Bisectors.
|
||||
Standard_EXPORT void Perform (const Standard_Boolean SemiInfinite, const Handle(MAT_ListOfBisector)& TheRoots, const Standard_Integer NbBasicElts, const Standard_Integer NbArcs);
|
||||
|
||||
//! Return the Arc of index <Index> in <theArcs>.
|
||||
Standard_EXPORT Handle(MAT_Arc) Arc (const Standard_Integer Index) const;
|
||||
|
||||
//! Return the BasicElt of index <Index> in <theBasicElts>.
|
||||
Standard_EXPORT Handle(MAT_BasicElt) BasicElt (const Standard_Integer Index) const;
|
||||
|
||||
//! Return the Node of index <Index> in <theNodes>.
|
||||
Standard_EXPORT Handle(MAT_Node) Node (const Standard_Integer Index) const;
|
||||
|
||||
//! Return the number of arcs of <me>.
|
||||
Standard_EXPORT Standard_Integer NumberOfArcs() const;
|
||||
|
||||
//! Return the number of nodes of <me>.
|
||||
Standard_EXPORT Standard_Integer NumberOfNodes() const;
|
||||
|
||||
//! Return the number of basic elements of <me>.
|
||||
Standard_EXPORT Standard_Integer NumberOfBasicElts() const;
|
||||
|
||||
//! Return the number of infinites nodes of <me>.
|
||||
Standard_EXPORT Standard_Integer NumberOfInfiniteNodes() const;
|
||||
|
||||
//! Merge two BasicElts. The End of the BasicElt Elt1
|
||||
//! of IndexElt1 becomes The End of the BasicElt Elt2
|
||||
//! of IndexElt2. Elt2 is replaced in the arcs by
|
||||
//! Elt1, Elt2 is eliminated.
|
||||
//!
|
||||
//! <MergeArc1> is True if the fusion of the BasicElts =>
|
||||
//! a fusion of two Arcs which separated the same elements.
|
||||
//! In this case <GeomIndexArc1> and <GeomIndexArc2> are the
|
||||
//! Geometric Index of this arcs.
|
||||
//!
|
||||
//! If the BasicElt corresponds to a close line ,
|
||||
//! the StartArc and the EndArc of Elt1 can separate the same
|
||||
//! elements .
|
||||
//! In this case there is a fusion of this arcs, <MergeArc2>
|
||||
//! is true and <GeomIndexArc3> and <GeomIndexArc4> are the
|
||||
//! Geometric Index of this arcs.
|
||||
Standard_EXPORT void FusionOfBasicElts (const Standard_Integer IndexElt1, const Standard_Integer IndexElt2, Standard_Boolean& MergeArc1, Standard_Integer& GeomIndexArc1, Standard_Integer& GeomIndexArc2, Standard_Boolean& MergeArc2, Standard_Integer& GeomIndexArc3, Standard_Integer& GeomIndexArc4);
|
||||
|
||||
Standard_EXPORT void CompactArcs();
|
||||
|
||||
Standard_EXPORT void CompactNodes();
|
||||
|
||||
Standard_EXPORT void ChangeBasicElts (const MAT_DataMapOfIntegerBasicElt& NewMap);
|
||||
|
||||
Standard_EXPORT Handle(MAT_BasicElt) ChangeBasicElt (const Standard_Integer Index);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Graph,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
//! Merge two Arcs. the second node of <Arc2> becomes
|
||||
//! the first node of <Arc1>. Update of the first
|
||||
//! node and the neighbours of <Arc1>.
|
||||
//! <Arc2> is eliminated.
|
||||
Standard_EXPORT void FusionOfArcs (const Handle(MAT_Arc)& Arc1, const Handle(MAT_Arc)& Arc2);
|
||||
|
||||
Standard_EXPORT void UpDateNodes (Standard_Integer& Index);
|
||||
|
||||
MAT_DataMapOfIntegerArc theArcs;
|
||||
MAT_DataMapOfIntegerBasicElt theBasicElts;
|
||||
MAT_DataMapOfIntegerNode theNodes;
|
||||
Standard_Integer numberOfArcs;
|
||||
Standard_Integer numberOfNodes;
|
||||
Standard_Integer numberOfBasicElts;
|
||||
Standard_Integer numberOfInfiniteNodes;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Graph_HeaderFile
|
139
src/MAT/MAT_ListOfBisector.hxx
Normal file
139
src/MAT/MAT_ListOfBisector.hxx
Normal file
@@ -0,0 +1,139 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_ListOfBisector_HeaderFile
|
||||
#define _MAT_ListOfBisector_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class MAT_TListNodeOfListOfBisector;
|
||||
class MAT_Bisector;
|
||||
|
||||
|
||||
class MAT_ListOfBisector;
|
||||
DEFINE_STANDARD_HANDLE(MAT_ListOfBisector, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_ListOfBisector : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_ListOfBisector();
|
||||
|
||||
Standard_EXPORT void First();
|
||||
|
||||
Standard_EXPORT void Last();
|
||||
|
||||
Standard_EXPORT void Init (const Handle(MAT_Bisector)& aniten);
|
||||
|
||||
Standard_EXPORT void Next();
|
||||
|
||||
Standard_EXPORT void Previous();
|
||||
|
||||
Standard_EXPORT Standard_Boolean More() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) Current() const;
|
||||
|
||||
Standard_EXPORT void Current (const Handle(MAT_Bisector)& anitem) const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) FirstItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) LastItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) PreviousItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) NextItem() const;
|
||||
|
||||
Standard_Integer Number() const;
|
||||
|
||||
Standard_Integer Index() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Bisector) Brackets (const Standard_Integer anindex);
|
||||
Handle(MAT_Bisector) operator() (const Standard_Integer anindex)
|
||||
{
|
||||
return Brackets(anindex);
|
||||
}
|
||||
|
||||
Standard_EXPORT void Unlink();
|
||||
|
||||
Standard_EXPORT void LinkBefore (const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
Standard_EXPORT void LinkAfter (const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
Standard_EXPORT void FrontAdd (const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
Standard_EXPORT void BackAdd (const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
Standard_EXPORT void Permute();
|
||||
|
||||
Standard_EXPORT void Loop() const;
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsEmpty() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer ashift, const Standard_Integer alevel);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_ListOfBisector,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(MAT_TListNodeOfListOfBisector) thefirstnode;
|
||||
Handle(MAT_TListNodeOfListOfBisector) thelastnode;
|
||||
Handle(MAT_TListNodeOfListOfBisector) thecurrentnode;
|
||||
Standard_Integer thecurrentindex;
|
||||
Standard_Integer thenumberofitems;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define Item Handle(MAT_Bisector)
|
||||
#define Item_hxx <MAT_Bisector.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfBisector
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfBisector)
|
||||
#define MAT_TList MAT_ListOfBisector
|
||||
#define MAT_TList_hxx <MAT_ListOfBisector.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfBisector)
|
||||
|
||||
#include <MAT_TList.lxx>
|
||||
|
||||
#undef Item
|
||||
#undef Item_hxx
|
||||
#undef MAT_TListNode
|
||||
#undef MAT_TListNode_hxx
|
||||
#undef Handle_MAT_TListNode
|
||||
#undef MAT_TList
|
||||
#undef MAT_TList_hxx
|
||||
#undef Handle_MAT_TList
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_ListOfBisector_HeaderFile
|
42
src/MAT/MAT_ListOfBisector_0.cxx
Normal file
42
src/MAT/MAT_ListOfBisector_0.cxx
Normal file
@@ -0,0 +1,42 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 <MAT_ListOfBisector.hxx>
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#include <MAT_Bisector.hxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define Item Handle(MAT_Bisector)
|
||||
#define Item_hxx <MAT_Bisector.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfBisector
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfBisector)
|
||||
#define MAT_TList MAT_ListOfBisector
|
||||
#define MAT_TList_hxx <MAT_ListOfBisector.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfBisector)
|
||||
#include <MAT_TList.gxx>
|
||||
|
139
src/MAT/MAT_ListOfEdge.hxx
Normal file
139
src/MAT/MAT_ListOfEdge.hxx
Normal file
@@ -0,0 +1,139 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_ListOfEdge_HeaderFile
|
||||
#define _MAT_ListOfEdge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class MAT_TListNodeOfListOfEdge;
|
||||
class MAT_Edge;
|
||||
|
||||
|
||||
class MAT_ListOfEdge;
|
||||
DEFINE_STANDARD_HANDLE(MAT_ListOfEdge, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_ListOfEdge : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_ListOfEdge();
|
||||
|
||||
Standard_EXPORT void First();
|
||||
|
||||
Standard_EXPORT void Last();
|
||||
|
||||
Standard_EXPORT void Init (const Handle(MAT_Edge)& aniten);
|
||||
|
||||
Standard_EXPORT void Next();
|
||||
|
||||
Standard_EXPORT void Previous();
|
||||
|
||||
Standard_EXPORT Standard_Boolean More() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) Current() const;
|
||||
|
||||
Standard_EXPORT void Current (const Handle(MAT_Edge)& anitem) const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) FirstItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) LastItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) PreviousItem() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) NextItem() const;
|
||||
|
||||
Standard_Integer Number() const;
|
||||
|
||||
Standard_Integer Index() const;
|
||||
|
||||
Standard_EXPORT Handle(MAT_Edge) Brackets (const Standard_Integer anindex);
|
||||
Handle(MAT_Edge) operator() (const Standard_Integer anindex)
|
||||
{
|
||||
return Brackets(anindex);
|
||||
}
|
||||
|
||||
Standard_EXPORT void Unlink();
|
||||
|
||||
Standard_EXPORT void LinkBefore (const Handle(MAT_Edge)& anitem);
|
||||
|
||||
Standard_EXPORT void LinkAfter (const Handle(MAT_Edge)& anitem);
|
||||
|
||||
Standard_EXPORT void FrontAdd (const Handle(MAT_Edge)& anitem);
|
||||
|
||||
Standard_EXPORT void BackAdd (const Handle(MAT_Edge)& anitem);
|
||||
|
||||
Standard_EXPORT void Permute();
|
||||
|
||||
Standard_EXPORT void Loop() const;
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsEmpty() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer ashift, const Standard_Integer alevel);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_ListOfEdge,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(MAT_TListNodeOfListOfEdge) thefirstnode;
|
||||
Handle(MAT_TListNodeOfListOfEdge) thelastnode;
|
||||
Handle(MAT_TListNodeOfListOfEdge) thecurrentnode;
|
||||
Standard_Integer thecurrentindex;
|
||||
Standard_Integer thenumberofitems;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define Item Handle(MAT_Edge)
|
||||
#define Item_hxx <MAT_Edge.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfEdge
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfEdge)
|
||||
#define MAT_TList MAT_ListOfEdge
|
||||
#define MAT_TList_hxx <MAT_ListOfEdge.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfEdge)
|
||||
|
||||
#include <MAT_TList.lxx>
|
||||
|
||||
#undef Item
|
||||
#undef Item_hxx
|
||||
#undef MAT_TListNode
|
||||
#undef MAT_TListNode_hxx
|
||||
#undef Handle_MAT_TListNode
|
||||
#undef MAT_TList
|
||||
#undef MAT_TList_hxx
|
||||
#undef Handle_MAT_TList
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_ListOfEdge_HeaderFile
|
42
src/MAT/MAT_ListOfEdge_0.cxx
Normal file
42
src/MAT/MAT_ListOfEdge_0.cxx
Normal file
@@ -0,0 +1,42 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 <MAT_ListOfEdge.hxx>
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#include <MAT_Edge.hxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define Item Handle(MAT_Edge)
|
||||
#define Item_hxx <MAT_Edge.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfEdge
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfEdge)
|
||||
#define MAT_TList MAT_ListOfEdge
|
||||
#define MAT_TList_hxx <MAT_ListOfEdge.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfEdge)
|
||||
#include <MAT_TList.gxx>
|
||||
|
@@ -1,102 +0,0 @@
|
||||
-- Created on: 1993-04-30
|
||||
-- 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.
|
||||
|
||||
class Node from MAT
|
||||
|
||||
---Purpose : Node of Graph.
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
uses
|
||||
|
||||
Arc from MAT,
|
||||
BasicElt from MAT,
|
||||
SequenceOfArc from MAT,
|
||||
SequenceOfBasicElt from MAT,
|
||||
Address from Standard
|
||||
is
|
||||
Create (GeomIndex : Integer;
|
||||
LinkedArc : Arc from MAT;
|
||||
Distance : Real)
|
||||
returns Node from MAT;
|
||||
|
||||
GeomIndex (me)
|
||||
---Purpose: Returns the index associated of the geometric
|
||||
-- representation of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
Index (me)
|
||||
---Purpose: Returns the index associated of the node
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
LinkedArcs (me ; S : in out SequenceOfArc)
|
||||
---Purpose: Returns in <S> the Arcs linked to <me>.
|
||||
is static;
|
||||
|
||||
NearElts (me ; S : in out SequenceOfBasicElt)
|
||||
---Purpose: Returns in <S> the BasicElts equidistant
|
||||
-- to <me>.
|
||||
is static;
|
||||
|
||||
Distance (me)
|
||||
--Purpose: Returns the distance between <me> and the figure.
|
||||
returns Real
|
||||
is static;
|
||||
|
||||
PendingNode (me)
|
||||
--- Purpose:Returns True if <me> is a pending Node.
|
||||
-- (ie : the number of Arc Linked = 1)
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
OnBasicElt (me)
|
||||
---Purpose: Returns True if <me> belongs to the figure.
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
Infinite (me)
|
||||
---Purpose: Returns True if the distance of <me> is Infinite
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
SetIndex (me : mutable ; anIndex : Integer from Standard)
|
||||
--- Purpose : Set the index associated of the node
|
||||
is static;
|
||||
|
||||
SetLinkedArc(me : mutable ; anArc : Arc from MAT)
|
||||
is static;
|
||||
|
||||
|
||||
fields
|
||||
|
||||
nodeIndex : Integer from Standard;
|
||||
geomIndex : Integer from Standard;
|
||||
aLinkedArc : Address from Standard;
|
||||
distance : Real from Standard;
|
||||
|
||||
end Node;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -14,10 +14,12 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_Node.ixx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
|
||||
#include <MAT_Arc.hxx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
#include <MAT_Node.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
//=============================================================================
|
||||
//function :
|
||||
|
103
src/MAT/MAT_Node.hxx
Normal file
103
src/MAT/MAT_Node.hxx
Normal file
@@ -0,0 +1,103 @@
|
||||
// Created on: 1993-04-30
|
||||
// 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 _MAT_Node_HeaderFile
|
||||
#define _MAT_Node_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Address.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <MAT_SequenceOfBasicElt.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class MAT_Arc;
|
||||
|
||||
|
||||
class MAT_Node;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Node, MMgt_TShared)
|
||||
|
||||
//! Node of Graph.
|
||||
class MAT_Node : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_Node(const Standard_Integer GeomIndex, const Handle(MAT_Arc)& LinkedArc, const Standard_Real Distance);
|
||||
|
||||
//! Returns the index associated of the geometric
|
||||
//! representation of <me>.
|
||||
Standard_EXPORT Standard_Integer GeomIndex() const;
|
||||
|
||||
//! Returns the index associated of the node
|
||||
Standard_EXPORT Standard_Integer Index() const;
|
||||
|
||||
//! Returns in <S> the Arcs linked to <me>.
|
||||
Standard_EXPORT void LinkedArcs (MAT_SequenceOfArc& S) const;
|
||||
|
||||
//! Returns in <S> the BasicElts equidistant
|
||||
//! to <me>.
|
||||
Standard_EXPORT void NearElts (MAT_SequenceOfBasicElt& S) const;
|
||||
|
||||
Standard_EXPORT Standard_Real Distance() const;
|
||||
|
||||
//! Returns True if <me> is a pending Node.
|
||||
//! (ie : the number of Arc Linked = 1)
|
||||
Standard_EXPORT Standard_Boolean PendingNode() const;
|
||||
|
||||
//! Returns True if <me> belongs to the figure.
|
||||
Standard_EXPORT Standard_Boolean OnBasicElt() const;
|
||||
|
||||
//! Returns True if the distance of <me> is Infinite
|
||||
Standard_EXPORT Standard_Boolean Infinite() const;
|
||||
|
||||
//! Set the index associated of the node
|
||||
Standard_EXPORT void SetIndex (const Standard_Integer anIndex);
|
||||
|
||||
Standard_EXPORT void SetLinkedArc (const Handle(MAT_Arc)& anArc);
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Node,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Integer nodeIndex;
|
||||
Standard_Integer geomIndex;
|
||||
Standard_Address aLinkedArc;
|
||||
Standard_Real distance;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Node_HeaderFile
|
27
src/MAT/MAT_Side.hxx
Normal file
27
src/MAT/MAT_Side.hxx
Normal file
@@ -0,0 +1,27 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_Side_HeaderFile
|
||||
#define _MAT_Side_HeaderFile
|
||||
|
||||
//! Definition on the Left and the Right on the Fig.
|
||||
enum MAT_Side
|
||||
{
|
||||
MAT_Left,
|
||||
MAT_Right
|
||||
};
|
||||
|
||||
#endif // _MAT_Side_HeaderFile
|
@@ -1,214 +0,0 @@
|
||||
-- Created on: 1992-06-23
|
||||
-- Created by: Gilles DEBARBOUILLE
|
||||
-- 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.
|
||||
|
||||
generic class TList from MAT (Item as any)
|
||||
|
||||
---Purpose:
|
||||
|
||||
inherits
|
||||
|
||||
TShared
|
||||
|
||||
--uses
|
||||
|
||||
--raises
|
||||
|
||||
|
||||
class TListNode from MAT
|
||||
|
||||
---Purpose:
|
||||
|
||||
inherits
|
||||
|
||||
TShared
|
||||
|
||||
--uses
|
||||
|
||||
--raises
|
||||
|
||||
is
|
||||
|
||||
Create returns TListNode from MAT;
|
||||
|
||||
---C++: inline
|
||||
|
||||
Create(anitem : Item) returns TListNode from MAT;
|
||||
|
||||
---C++: inline
|
||||
|
||||
GetItem(me) returns any Item
|
||||
|
||||
-- C++: return &
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Next(me) returns TListNode from MAT
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Previous(me) returns TListNode from MAT
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
SetItem(me : mutable ; anitem : any Item)
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Next(me : mutable ; atlistnode : TListNode from MAT)
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Previous(me : mutable ; atlistnode : TListNode from MAT)
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Dummy(me)
|
||||
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
thenext : TListNode from MAT;
|
||||
theprevious : TListNode from MAT;
|
||||
theitem : Item;
|
||||
|
||||
end TListNode;
|
||||
|
||||
is
|
||||
|
||||
Create returns TList from MAT;
|
||||
|
||||
First(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
Last(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
Init(me : mutable ; aniten : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
Next(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
Previous(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
More(me) returns Boolean
|
||||
|
||||
is static;
|
||||
|
||||
Current(me) returns any Item
|
||||
|
||||
is static;
|
||||
|
||||
Current(me ; anitem : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
FirstItem(me) returns any Item
|
||||
|
||||
is static;
|
||||
|
||||
LastItem(me) returns any Item
|
||||
|
||||
is static;
|
||||
|
||||
PreviousItem(me) returns any Item
|
||||
|
||||
is static;
|
||||
|
||||
NextItem(me) returns any Item
|
||||
|
||||
is static;
|
||||
|
||||
Number(me) returns Integer
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Index(me) returns Integer
|
||||
|
||||
---C++: inline
|
||||
|
||||
is static;
|
||||
|
||||
Brackets(me : mutable ; anindex : Integer) returns any Item
|
||||
|
||||
-- C++: return &
|
||||
---C++: alias operator()
|
||||
|
||||
is static;
|
||||
|
||||
Unlink(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
LinkBefore(me : mutable ; anitem : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
LinkAfter(me : mutable ; anitem : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
FrontAdd(me : mutable ; anitem : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
BackAdd(me : mutable ; anitem : any Item)
|
||||
|
||||
is static;
|
||||
|
||||
Permute(me : mutable)
|
||||
|
||||
is static;
|
||||
|
||||
Loop(me)
|
||||
|
||||
is static;
|
||||
|
||||
IsEmpty(me) returns Boolean
|
||||
|
||||
is static;
|
||||
|
||||
Dump(me : mutable ; ashift , alevel : Integer);
|
||||
|
||||
fields
|
||||
|
||||
thefirstnode : TListNode from MAT;
|
||||
thelastnode : TListNode from MAT;
|
||||
thecurrentnode : TListNode from MAT;
|
||||
thecurrentindex : Integer;
|
||||
thenumberofitems : Integer;
|
||||
|
||||
end TList;
|
99
src/MAT/MAT_TListNodeOfListOfBisector.hxx
Normal file
99
src/MAT/MAT_TListNodeOfListOfBisector.hxx
Normal file
@@ -0,0 +1,99 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_TListNodeOfListOfBisector_HeaderFile
|
||||
#define _MAT_TListNodeOfListOfBisector_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MMgt_TShared.hxx>
|
||||
class MAT_Bisector;
|
||||
class MAT_ListOfBisector;
|
||||
|
||||
|
||||
class MAT_TListNodeOfListOfBisector;
|
||||
DEFINE_STANDARD_HANDLE(MAT_TListNodeOfListOfBisector, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_TListNodeOfListOfBisector : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
MAT_TListNodeOfListOfBisector();
|
||||
|
||||
MAT_TListNodeOfListOfBisector(const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
Handle(MAT_Bisector) GetItem() const;
|
||||
|
||||
Handle(MAT_TListNodeOfListOfBisector) Next() const;
|
||||
|
||||
Handle(MAT_TListNodeOfListOfBisector) Previous() const;
|
||||
|
||||
void SetItem (const Handle(MAT_Bisector)& anitem);
|
||||
|
||||
void Next (const Handle(MAT_TListNodeOfListOfBisector)& atlistnode);
|
||||
|
||||
void Previous (const Handle(MAT_TListNodeOfListOfBisector)& atlistnode);
|
||||
|
||||
Standard_EXPORT void Dummy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_TListNodeOfListOfBisector,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(MAT_TListNodeOfListOfBisector) thenext;
|
||||
Handle(MAT_TListNodeOfListOfBisector) theprevious;
|
||||
Handle(MAT_Bisector) theitem;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define Item Handle(MAT_Bisector)
|
||||
#define Item_hxx <MAT_Bisector.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfBisector
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfBisector)
|
||||
#define MAT_TList MAT_ListOfBisector
|
||||
#define MAT_TList_hxx <MAT_ListOfBisector.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfBisector)
|
||||
|
||||
#include <MAT_TListNode.lxx>
|
||||
|
||||
#undef Item
|
||||
#undef Item_hxx
|
||||
#undef MAT_TListNode
|
||||
#undef MAT_TListNode_hxx
|
||||
#undef Handle_MAT_TListNode
|
||||
#undef MAT_TList
|
||||
#undef MAT_TList_hxx
|
||||
#undef Handle_MAT_TList
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_TListNodeOfListOfBisector_HeaderFile
|
43
src/MAT/MAT_TListNodeOfListOfBisector_0.cxx
Normal file
43
src/MAT/MAT_TListNodeOfListOfBisector_0.cxx
Normal file
@@ -0,0 +1,43 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 <MAT_TListNodeOfListOfBisector.hxx>
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#include <MAT_Bisector.hxx>
|
||||
#include <MAT_ListOfBisector.hxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define Item Handle(MAT_Bisector)
|
||||
#define Item_hxx <MAT_Bisector.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfBisector
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfBisector.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfBisector)
|
||||
#define MAT_TList MAT_ListOfBisector
|
||||
#define MAT_TList_hxx <MAT_ListOfBisector.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfBisector)
|
||||
#include <MAT_TListNode.gxx>
|
||||
|
99
src/MAT/MAT_TListNodeOfListOfEdge.hxx
Normal file
99
src/MAT/MAT_TListNodeOfListOfEdge.hxx
Normal file
@@ -0,0 +1,99 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 _MAT_TListNodeOfListOfEdge_HeaderFile
|
||||
#define _MAT_TListNodeOfListOfEdge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MMgt_TShared.hxx>
|
||||
class MAT_Edge;
|
||||
class MAT_ListOfEdge;
|
||||
|
||||
|
||||
class MAT_TListNodeOfListOfEdge;
|
||||
DEFINE_STANDARD_HANDLE(MAT_TListNodeOfListOfEdge, MMgt_TShared)
|
||||
|
||||
|
||||
class MAT_TListNodeOfListOfEdge : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
MAT_TListNodeOfListOfEdge();
|
||||
|
||||
MAT_TListNodeOfListOfEdge(const Handle(MAT_Edge)& anitem);
|
||||
|
||||
Handle(MAT_Edge) GetItem() const;
|
||||
|
||||
Handle(MAT_TListNodeOfListOfEdge) Next() const;
|
||||
|
||||
Handle(MAT_TListNodeOfListOfEdge) Previous() const;
|
||||
|
||||
void SetItem (const Handle(MAT_Edge)& anitem);
|
||||
|
||||
void Next (const Handle(MAT_TListNodeOfListOfEdge)& atlistnode);
|
||||
|
||||
void Previous (const Handle(MAT_TListNodeOfListOfEdge)& atlistnode);
|
||||
|
||||
Standard_EXPORT void Dummy() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_TListNodeOfListOfEdge,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Handle(MAT_TListNodeOfListOfEdge) thenext;
|
||||
Handle(MAT_TListNodeOfListOfEdge) theprevious;
|
||||
Handle(MAT_Edge) theitem;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define Item Handle(MAT_Edge)
|
||||
#define Item_hxx <MAT_Edge.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfEdge
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfEdge)
|
||||
#define MAT_TList MAT_ListOfEdge
|
||||
#define MAT_TList_hxx <MAT_ListOfEdge.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfEdge)
|
||||
|
||||
#include <MAT_TListNode.lxx>
|
||||
|
||||
#undef Item
|
||||
#undef Item_hxx
|
||||
#undef MAT_TListNode
|
||||
#undef MAT_TListNode_hxx
|
||||
#undef Handle_MAT_TListNode
|
||||
#undef MAT_TList
|
||||
#undef MAT_TList_hxx
|
||||
#undef Handle_MAT_TList
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_TListNodeOfListOfEdge_HeaderFile
|
43
src/MAT/MAT_TListNodeOfListOfEdge_0.cxx
Normal file
43
src/MAT/MAT_TListNodeOfListOfEdge_0.cxx
Normal file
@@ -0,0 +1,43 @@
|
||||
// Created on: 1992-09-22
|
||||
// Created by: Gilles DEBARBOUILLE
|
||||
// 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 <MAT_TListNodeOfListOfEdge.hxx>
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#include <MAT_Edge.hxx>
|
||||
#include <MAT_ListOfEdge.hxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define Item Handle(MAT_Edge)
|
||||
#define Item_hxx <MAT_Edge.hxx>
|
||||
#define MAT_TListNode MAT_TListNodeOfListOfEdge
|
||||
#define MAT_TListNode_hxx <MAT_TListNodeOfListOfEdge.hxx>
|
||||
#define Handle_MAT_TListNode Handle(MAT_TListNodeOfListOfEdge)
|
||||
#define MAT_TList MAT_ListOfEdge
|
||||
#define MAT_TList_hxx <MAT_ListOfEdge.hxx>
|
||||
#define Handle_MAT_TList Handle(MAT_ListOfEdge)
|
||||
#include <MAT_TListNode.gxx>
|
||||
|
@@ -1,79 +0,0 @@
|
||||
-- Created on: 1993-05-27
|
||||
-- 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.
|
||||
|
||||
class Zone from MAT
|
||||
|
||||
---Purpose:
|
||||
-- Definition of Zone of Proximity of a BasicElt :
|
||||
-- ----------------------------------------------
|
||||
-- A Zone of proximity is the set of the points which are
|
||||
-- more near from the BasicElt than any other.
|
||||
--
|
||||
|
||||
inherits
|
||||
|
||||
TShared from MMgt
|
||||
|
||||
uses
|
||||
Arc from MAT,
|
||||
Side from MAT,
|
||||
SequenceOfArc from MAT,
|
||||
BasicElt from MAT,
|
||||
Node from MAT
|
||||
is
|
||||
|
||||
Create returns Zone from MAT;
|
||||
|
||||
Create(aBasicElt : BasicElt from MAT)
|
||||
--- Purpose: Compute the frontier of the Zone of proximity.
|
||||
returns Zone from MAT;
|
||||
|
||||
Perform(me : mutable ; aBasicElt : BasicElt from MAT)
|
||||
--- Purpose: Compute the frontier of the Zone of proximity.
|
||||
is static;
|
||||
|
||||
NumberOfArcs(me)
|
||||
--- Purpose: Return the number Of Arcs On the frontier of <me>.
|
||||
returns Integer
|
||||
is static;
|
||||
|
||||
ArcOnFrontier (me ; Index : Integer)
|
||||
--- Purpose: Return the Arc number <Index> on the frontier.
|
||||
-- of <me>.
|
||||
returns Arc
|
||||
is static;
|
||||
|
||||
NoEmptyZone (me)
|
||||
--- Purpose: Return TRUE if <me> is not empty .
|
||||
returns Boolean
|
||||
is static;
|
||||
|
||||
Limited(me)
|
||||
--- Purpose: Return TRUE if <me> is Limited.
|
||||
returns Boolean
|
||||
is static;
|
||||
|
||||
NodeForTurn(me ;
|
||||
anArc : Arc from MAT ;
|
||||
aBasicElt : BasicElt from MAT ;
|
||||
aSide : Side from MAT )
|
||||
returns Node from MAT
|
||||
is static private;
|
||||
|
||||
fields
|
||||
frontier : SequenceOfArc from MAT;
|
||||
limited : Boolean from Standard;
|
||||
end Zone;
|
@@ -14,10 +14,13 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <MAT_Zone.ixx>
|
||||
|
||||
#include <MAT_Arc.hxx>
|
||||
#include <MAT_BasicElt.hxx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <MAT_Node.hxx>
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <MAT_Zone.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
//========================================================================
|
||||
// function:
|
||||
|
95
src/MAT/MAT_Zone.hxx
Normal file
95
src/MAT/MAT_Zone.hxx
Normal file
@@ -0,0 +1,95 @@
|
||||
// Created on: 1993-05-27
|
||||
// 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 _MAT_Zone_HeaderFile
|
||||
#define _MAT_Zone_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <MAT_SequenceOfArc.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MAT_Side.hxx>
|
||||
class MAT_BasicElt;
|
||||
class MAT_Arc;
|
||||
class MAT_Node;
|
||||
|
||||
|
||||
class MAT_Zone;
|
||||
DEFINE_STANDARD_HANDLE(MAT_Zone, MMgt_TShared)
|
||||
|
||||
|
||||
//! Definition of Zone of Proximity of a BasicElt :
|
||||
//! ----------------------------------------------
|
||||
//! A Zone of proximity is the set of the points which are
|
||||
//! more near from the BasicElt than any other.
|
||||
class MAT_Zone : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Standard_EXPORT MAT_Zone();
|
||||
|
||||
//! Compute the frontier of the Zone of proximity.
|
||||
Standard_EXPORT MAT_Zone(const Handle(MAT_BasicElt)& aBasicElt);
|
||||
|
||||
//! Compute the frontier of the Zone of proximity.
|
||||
Standard_EXPORT void Perform (const Handle(MAT_BasicElt)& aBasicElt);
|
||||
|
||||
//! Return the number Of Arcs On the frontier of <me>.
|
||||
Standard_EXPORT Standard_Integer NumberOfArcs() const;
|
||||
|
||||
//! Return the Arc number <Index> on the frontier.
|
||||
//! of <me>.
|
||||
Standard_EXPORT Handle(MAT_Arc) ArcOnFrontier (const Standard_Integer Index) const;
|
||||
|
||||
//! Return TRUE if <me> is not empty .
|
||||
Standard_EXPORT Standard_Boolean NoEmptyZone() const;
|
||||
|
||||
//! Return TRUE if <me> is Limited.
|
||||
Standard_EXPORT Standard_Boolean Limited() const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(MAT_Zone,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_EXPORT Handle(MAT_Node) NodeForTurn (const Handle(MAT_Arc)& anArc, const Handle(MAT_BasicElt)& aBasicElt, const MAT_Side aSide) const;
|
||||
|
||||
MAT_SequenceOfArc frontier;
|
||||
Standard_Boolean limited;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _MAT_Zone_HeaderFile
|
Reference in New Issue
Block a user