0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / BRepMesh / BRepMesh_Circle.hxx
CommitLineData
fc9b36d6 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.
24class BRepMesh_Circle
25{
26public:
27
28 DEFINE_STANDARD_ALLOC
29
30 //! Default constructor.
cbff1e55 31 BRepMesh_Circle() : myRadius(0.0)
fc9b36d6 32 {
33 }
34
35 //! Constructor.
848fa7e3 36 //! @param theLocation location of a circle.
37 //! @param theRadius radius of a circle.
cbff1e55 38 BRepMesh_Circle(const gp_XY& theLocation,
39 const Standard_Real theRadius)
40 : myLocation(theLocation),
41 myRadius (theRadius)
fc9b36d6 42 {
43 }
44
45 //! Sets location of a circle.
848fa7e3 46 //! @param theLocation location of a circle.
fc9b36d6 47 inline void SetLocation(const gp_XY& theLocation)
48 {
49 myLocation = theLocation;
50 }
51
52 //! Sets radius of a circle.
848fa7e3 53 //! @param theRadius radius of a circle.
fc9b36d6 54 inline void SetRadius(const Standard_Real theRadius)
55 {
56 myRadius = theRadius;
57 }
58
59 //! Returns location of a circle.
60 inline const gp_XY& Location() const
61 {
62 return myLocation;
63 }
64
65 //! Returns radius of a circle.
66 inline const Standard_Real& Radius() const
67 {
68 return myRadius;
69 }
70
71private:
72
73 gp_XY myLocation;
74 Standard_Real myRadius;
75};
76
77#endif