1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-07 18:30:55 +03:00
occt/src/GraphDS/GraphDS_Entity.gxx
bugmaster b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00

159 lines
4.3 KiB
Plaintext
Executable File

// Created on: 1991-09-10
// Created by: Denis PASCAL
// Copyright (c) 1991-1999 Matra Datavision
// Copyright (c) 1999-2012 OPEN CASCADE SAS
//
// The content of this file is subject to the Open CASCADE Technology Public
// License Version 6.5 (the "License"). You may not use the content of this file
// except in compliance with the License. Please obtain a copy of the License
// at http://www.opencascade.org and read it completely before using this file.
//
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
//
// The Original Code and all software distributed under the License is
// distributed on an "AS IS" basis, without warranty of any kind, and the
// Initial Developer hereby disclaims all such warranties, including without
// limitation, any warranties of merchantability, fitness for a particular
// purpose or non-infringement. Please see the License for the specific terms
// and conditions governing the rights and limitations under the License.
// <dp>
# include <Standard_NoSuchObject.hxx>
# include <Standard_DomainError.hxx>
//=======================================================================
//function : GraphDS_Entity
//purpose :
//=======================================================================
GraphDS_Entity::GraphDS_Entity
(const GraphDS_Item& item) : myItem(item)
{
}
//=======================================================================
//function : GetItem
//purpose :
//=======================================================================
const GraphDS_Item& GraphDS_Entity::GetItem() const
{
return myItem;
}
//=======================================================================
//function : Contains
//purpose :
//=======================================================================
Standard_Boolean GraphDS_Entity::Contains
(const Handle(GraphDS_Relation)& R) const
{
return myRelations.Contains(R);
}
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void GraphDS_Entity::Add (const Handle(GraphDS_Relation)& R)
{
myRelations.Add(R);
}
//=======================================================================
//function : Remove
//purpose :
//=======================================================================
void GraphDS_Entity::Remove (const Handle(GraphDS_Relation)& R)
{
myRelations.Remove(R);
}
//=======================================================================
//function : HasRelation
//purpose :
//=======================================================================
Standard_Boolean GraphDS_Entity::HasRelation () const
{
return !myRelations.IsEmpty();
}
//=======================================================================
//function : GetRole
//purpose :
//=======================================================================
GraphDS_RelationRole GraphDS_Entity::GetRole
(const Handle(GraphDS_Relation)& R) const
{
GraphDS_RelationRole RR;
Handle(GraphDS_Entity) me = this;
GraphDS_EntityRole ER = R->GetRole(me);
switch(ER) {
case GraphDS_OnlyInput:
RR = GraphDS_OnlyFront;
break;
case GraphDS_OnlyOutput:
RR = GraphDS_OnlyBack;
break;
case GraphDS_InputAndOutput:
RR = GraphDS_FrontAndBack;
break;
}
return RR;
}
//=======================================================================
//function : IsFront
//purpose :
//=======================================================================
Standard_Boolean GraphDS_Entity::IsFront
(const Handle(GraphDS_Relation)& R) const
{
Handle(GraphDS_Entity) me = this;
return R->IsInput(me);
}
//=======================================================================
//function : IsBack
//purpose :
//=======================================================================
Standard_Boolean GraphDS_Entity::IsBack
(const Handle(GraphDS_Relation)& R) const
{
Handle(GraphDS_Entity) me = this;
return R->IsOutput(me);
}
//=======================================================================
//function : GetRelations
//purpose :
//=======================================================================
const TColStd_MapOfTransient& GraphDS_Entity::GetRelations() const
{
return myRelations;
}