Files
OCCT/src/ModelingAlgorithms/TKGeomAlgo/IntPatch/IntPatch_RLine.lxx
T
Pasukhin Dmitry 5647b46a34 Configuration - Reorganize repository structure #450
Reorganizing structure to have Module/TK/Package/FILES structure.
New structure reflect the structure inside IDE.
Migrate FILES, PACKAGES, EXTRLIB to CMake version to handle changes on updates.
No changes were done to installation layout, all installation result keep as before.
The migration was done using python script, see PR, which refactor automatically the structure.
Updated doc generation to have valid path to modules, toolkits and packages.
In case of PR into new version, IR-790 can be used as a target for the previous version.
2025-03-20 00:39:26 +00:00

152 lines
3.4 KiB
Plaintext

// Created on: 1992-04-06
// Created by: Jacques GOUSSARD
// 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 <Standard_DomainError.hxx>
#include <IntSurf_LineOn2S.hxx>
#include <IntPatch_Point.hxx>
inline const Handle(Adaptor2d_Curve2d)& IntPatch_RLine::ArcOnS1() const
{
return theArcOnS1;
}
inline const Handle(Adaptor2d_Curve2d)& IntPatch_RLine::ArcOnS2() const
{
return theArcOnS2;
}
//-- Il faut mettre cet include ici , car l include fait un define Handle(Adaptor2d_Curve2d) ...
//-- et en fin de fichier un undef Handle(Adaptor2d_Curve2d) ...
inline void IntPatch_RLine::AddVertex(const IntPatch_Point& thePnt,
const Standard_Boolean theIsPrepend)
{
if (theIsPrepend)
svtx.Prepend(thePnt);
else
svtx.Append(thePnt);
}
inline void IntPatch_RLine::Replace(const Standard_Integer Index, const IntPatch_Point& Pnt)
{
svtx(Index) = Pnt;
}
inline void IntPatch_RLine::SetFirstPoint(const Standard_Integer IndFirst)
{
fipt = Standard_True;
indf = IndFirst;
}
inline void IntPatch_RLine::SetLastPoint(const Standard_Integer IndLast)
{
lapt = Standard_True;
indl = IndLast;
}
inline void IntPatch_RLine::Add(const Handle(IntSurf_LineOn2S)& L)
{
curv = L;
}
inline Standard_Boolean IntPatch_RLine::IsArcOnS1() const
{
return onS1;
}
inline Standard_Boolean IntPatch_RLine::IsArcOnS2() const
{
return onS2;
}
inline Standard_Boolean IntPatch_RLine::HasFirstPoint() const
{
return fipt;
}
inline Standard_Boolean IntPatch_RLine::HasLastPoint() const
{
return lapt;
}
inline const IntPatch_Point& IntPatch_RLine::FirstPoint() const
{
if (!fipt)
{
throw Standard_DomainError();
}
return svtx(indf);
}
inline const IntPatch_Point& IntPatch_RLine::LastPoint() const
{
if (!lapt)
{
throw Standard_DomainError();
}
return svtx(indl);
}
inline Standard_Integer IntPatch_RLine::NbVertex() const
{
return svtx.Length();
}
inline const IntPatch_Point& IntPatch_RLine::Vertex(const Standard_Integer Index) const
{
return svtx(Index);
}
inline IntPatch_Point& IntPatch_RLine::ChangeVertex(const Standard_Integer Index)
{
return svtx(Index);
}
inline void IntPatch_RLine::RemoveVertex(const Standard_Integer theIndex)
{
if ((theIndex < 1) || (theIndex > NbVertex()))
throw Standard_OutOfRange("Cannot delete not existing vertex");
svtx.Remove(theIndex);
}
inline Standard_Boolean IntPatch_RLine::HasPolygon() const
{
return (!curv.IsNull());
}
inline Standard_Integer IntPatch_RLine::NbPnts() const
{
if (curv.IsNull())
{
throw Standard_DomainError();
}
return curv->NbPoints();
}
inline const IntSurf_PntOn2S& IntPatch_RLine::Point(const Standard_Integer Index) const
{
if (curv.IsNull())
{
throw Standard_DomainError();
}
return curv->Value(Index);
}
inline Handle(IntSurf_LineOn2S) IntPatch_RLine::Curve() const
{
return (curv);
}