// Created on: 1995-02-07
// Created by: Christophe MARION
// Copyright (c) 1995-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 <HLRTopoBRep_FaceData.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Vertex.hxx>

//=======================================================================
//function : EdgeSplE
//purpose  : 
//=======================================================================

inline const TopTools_ListOfShape & 
HLRTopoBRep_Data::EdgeSplE (const TopoDS_Edge& E) const 
{
  return mySplE(E);
}

//=======================================================================
//function : FaceIntL
//purpose  : 
//=======================================================================

inline const TopTools_ListOfShape & 
HLRTopoBRep_Data::FaceIntL (const TopoDS_Face& F) const 
{
  return myData(F).FaceIntL();
}

//=======================================================================
//function : FaceOutL
//purpose  : 
//=======================================================================

inline const TopTools_ListOfShape & 
HLRTopoBRep_Data::FaceOutL (const TopoDS_Face& F) const 
{
  return myData(F).FaceOutL();
}

//=======================================================================
//function : FaceIsoL
//purpose  : 
//=======================================================================

inline const TopTools_ListOfShape & 
HLRTopoBRep_Data::FaceIsoL (const TopoDS_Face& F) const 
{
  return myData(F).FaceIsoL();
}

//=======================================================================
//function : IsOutV
//purpose  : 
//=======================================================================

inline Standard_Boolean 
HLRTopoBRep_Data::IsOutV (const TopoDS_Vertex& V) const 
{
  return myOutV.Contains(V);
}

//=======================================================================
//function : IsIntV
//purpose  : 
//=======================================================================

inline Standard_Boolean 
HLRTopoBRep_Data::IsIntV (const TopoDS_Vertex& V) const 
{
  return myIntV.Contains(V);
}

//=======================================================================
//function : AddOutV
//purpose  : 
//=======================================================================

inline void HLRTopoBRep_Data::AddOutV (const TopoDS_Vertex& V)
{
  myOutV.Add(V);
}

//=======================================================================
//function : AddIntV
//purpose  : 
//=======================================================================

inline void HLRTopoBRep_Data::AddIntV (const TopoDS_Vertex& V)
{
  myIntV.Add(V);
}

//=======================================================================
//function : MoreEdge
//purpose  : 
//=======================================================================

inline Standard_Boolean HLRTopoBRep_Data::MoreEdge () const
{
  return myEIterator.More();
}

//=======================================================================
//function : Edge
//purpose  : 
//=======================================================================

inline const TopoDS_Edge & HLRTopoBRep_Data::Edge () const 
{
  return TopoDS::Edge(myEIterator.Key());
}

//=======================================================================
//function : MoreVertex
//purpose  : 
//=======================================================================

inline Standard_Boolean HLRTopoBRep_Data::MoreVertex () const 
{
  return myVIterator.More();
}

//=======================================================================
//function : NextVertex
//purpose  : 
//=======================================================================

inline void HLRTopoBRep_Data::NextVertex ()
{
  myVIterator.Next();
}

