-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
{
bool isInside = false;
if (theBaseShape->shapeType() == GeomAPI_Shape::EDGE) {
- std::shared_ptr<GeomAPI_Edge> anEdge(new GeomAPI_Edge(theBaseShape));
- if (anEdge->isLine()) {
- std::shared_ptr<GeomAPI_Lin> aLine = anEdge->line();
- theProjectedPoint = aLine->project(thePoint);
- }
- else if (anEdge->isCircle() || anEdge->isArc()) {
- std::shared_ptr<GeomAPI_Circ> aCircle = anEdge->circle();
- theProjectedPoint = aCircle->project(thePoint);
- }
+ GeomCurvePtr aCurve(new GeomAPI_Curve(theBaseShape->edge()));
+ theProjectedPoint = aCurve->project(thePoint);
if (theProjectedPoint.get()) {
std::shared_ptr<GeomAPI_Vertex> aVertexShape(new GeomAPI_Vertex(theProjectedPoint->x(),
theProjectedPoint->y(), theProjectedPoint->z()));
bool isInside = isPointOnEdge(theBaseShape, thePoint, theProjectedPoint);
if (isInside) {
std::shared_ptr<GeomAPI_Edge> anEdge(new GeomAPI_Edge(theBaseShape));
- if (!anEdge->isCircle()) {
+ if (!anEdge->isClosed()) {
// check the point is not on the boundary
GeomVertexPtr aVertex(new GeomAPI_Vertex(theProjectedPoint->x(),
theProjectedPoint->y(), theProjectedPoint->z()));
{
std::string aValueStr;
char aBuf[50];
- int n = sprintf(aBuf, "%g", theValue);
+ sprintf(aBuf, "%g", theValue);
aValueStr = std::string(aBuf);
return aValueStr;
}