1 // Copyright (c) 2013 OPEN CASCADE SAS 2 // 3 // This file is part of Open CASCADE Technology software library. 4 // 5 // This library is free software; you can redistribute it and/or modify it under 6 // the terms of the GNU Lesser General Public License version 2.1 as published 7 // by the Free Software Foundation, with special exception defined in the file 8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 9 // distribution for complete text of the license and disclaimer of any warranty. 10 // 11 // Alternatively, this file may be used under the terms of Open CASCADE 12 // commercial license or contractual agreement. 13 14 #ifndef _BRepMesh_Circle_HeaderFile 15 #define _BRepMesh_Circle_HeaderFile 16 17 #include <Standard.hxx> 18 #include <Standard_DefineAlloc.hxx> 19 #include <Standard_Macro.hxx> 20 #include <gp_XY.hxx> 21 22 //! Describes a 2d circle with a size of only 3 Standard_Real 23 //! numbers instead of gp who needs 7 Standard_Real numbers. 24 class BRepMesh_Circle 25 { 26 public: 27 28 DEFINE_STANDARD_ALLOC 29 30 //! Default constructor. BRepMesh_Circle()31 BRepMesh_Circle() : myRadius(0.0) 32 { 33 } 34 35 //! Constructor. 36 //! @param theLocation location of a circle. 37 //! @param theRadius radius of a circle. BRepMesh_Circle(const gp_XY & theLocation,const Standard_Real theRadius)38 BRepMesh_Circle(const gp_XY& theLocation, 39 const Standard_Real theRadius) 40 : myLocation(theLocation), 41 myRadius (theRadius) 42 { 43 } 44 45 //! Sets location of a circle. 46 //! @param theLocation location of a circle. SetLocation(const gp_XY & theLocation)47 void SetLocation(const gp_XY& theLocation) 48 { 49 myLocation = theLocation; 50 } 51 52 //! Sets radius of a circle. 53 //! @param theRadius radius of a circle. SetRadius(const Standard_Real theRadius)54 void SetRadius(const Standard_Real theRadius) 55 { 56 myRadius = theRadius; 57 } 58 59 //! Returns location of a circle. Location() const60 const gp_XY& Location() const 61 { 62 return myLocation; 63 } 64 65 //! Returns radius of a circle. Radius() const66 const Standard_Real& Radius() const 67 { 68 return myRadius; 69 } 70 71 private: 72 73 gp_XY myLocation; 74 Standard_Real myRadius; 75 }; 76 77 #endif 78