1
0
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:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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
View 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

View 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

View 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
View 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

View 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>

View File

@@ -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;

View File

@@ -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
View 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
View 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

View File

@@ -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;

View 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

View 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>

View 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

View 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>

View File

@@ -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;

View File

@@ -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
View 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