// 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.

inline Extrema_POnSurfParams::Extrema_POnSurfParams()
: mySqrDistance (0.),
  myElementType (Extrema_Node),
  myIndexU      (0),
  myIndexV      (0)
{
}

inline Extrema_POnSurfParams::Extrema_POnSurfParams
   (const Standard_Real theU, const Standard_Real theV, const gp_Pnt &thePnt)
: Extrema_POnSurf (theU, theV, thePnt),
  mySqrDistance   (0.),
  myElementType   (Extrema_Node),
  myIndexU        (0),
  myIndexV        (0)
{
}

inline void Extrema_POnSurfParams::SetSqrDistance
        (const Standard_Real theSqrDistance)
{
  mySqrDistance = theSqrDistance;
}

inline Standard_Real Extrema_POnSurfParams::GetSqrDistance() const
{
  return mySqrDistance;
}

inline void Extrema_POnSurfParams::SetElementType
        (const Extrema_ElementType theElementType)
{
  myElementType = theElementType;
}

inline Extrema_ElementType Extrema_POnSurfParams::GetElementType() const
{
  return myElementType;
}
    
inline void Extrema_POnSurfParams::SetIndices
                          (const Standard_Integer theIndexU,
                           const Standard_Integer theIndexV)
{
  myIndexU = theIndexU;
  myIndexV = theIndexV;
}                          

inline void Extrema_POnSurfParams::GetIndices
                  (Standard_Integer &theIndexU,
                   Standard_Integer &theIndexV) const
{
  theIndexU = myIndexU;
  theIndexV = myIndexV;
}
