SHAPER 9.16.0
GeomAlgoAPI_Sphere.h
1// Copyright (C) 2017-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20// File: GeomAlgoAPI_Sphere.h
21// Created: 16 Mar 2017
22// Author: Clarisse Genrault (CEA)
23
24#ifndef GEOMALGOAPI_SPHERE_H_
25#define GEOMALGOAPI_SPHERE_H_
26
27#include <GeomAlgoAPI_MakeShape.h>
28
29#include <GeomAPI_Pnt.h>
30
36{
37 public:
41 GEOMALGOAPI_EXPORT GeomAlgoAPI_Sphere(std::shared_ptr<GeomAPI_Pnt> theCenterPoint,
42 const double theRadius);
50 GEOMALGOAPI_EXPORT GeomAlgoAPI_Sphere(const double theRMin, const double theRMax,
51 const double thePhiMin, const double thePhiMax,
52 const double theThetaMin, const double theThetaMax);
53
55 GEOMALGOAPI_EXPORT bool check();
56
58 GEOMALGOAPI_EXPORT void build();
59
61 GEOMALGOAPI_EXPORT void buildRootSphere();
62
63 private:
64 bool isRootGeo;
65 std::shared_ptr<GeomAPI_Pnt> myCenterPoint;
66 double myRadius;
67 double myRMin, myRMax;
68 double myPhiMin, myPhiMax;
69 double myThetaMin, myThetaMax;
70};
71
72#endif // GEOMALGOAPI_SPHERE_H_
Interface to the root class of all topological shapes constructions.
Definition: GeomAlgoAPI_MakeShape.h:35
Allows to create Sphere Primitives.
Definition: GeomAlgoAPI_Sphere.h:36
GEOMALGOAPI_EXPORT bool check()
Checks if data for the sphere construction is OK.
Definition: GeomAlgoAPI_Sphere.cpp:59
GEOMALGOAPI_EXPORT GeomAlgoAPI_Sphere(std::shared_ptr< GeomAPI_Pnt > theCenterPoint, const double theRadius)
Creates a sphere.
Definition: GeomAlgoAPI_Sphere.cpp:36
GEOMALGOAPI_EXPORT void buildRootSphere()
Builds the sphere.
Definition: GeomAlgoAPI_Sphere.cpp:115
GEOMALGOAPI_EXPORT void build()
Builds the sphere.
Definition: GeomAlgoAPI_Sphere.cpp:80