1
#ifndef COIN_SBGEOANGLE_H
2
#define COIN_SBGEOANGLE_H
4
/**************************************************************************\
6
* This file is part of the Coin 3D visualization library.
7
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
9
* This library is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License
11
* ("GPL") version 2 as published by the Free Software Foundation.
12
* See the file LICENSE.GPL at the root directory of this source
13
* distribution for additional information about the GNU GPL.
15
* For using Coin with software that can not be combined with the GNU
16
* GPL, and for taking advantage of the additional benefits of our
17
* support services, please contact Systems in Motion about acquiring
18
* a Coin Professional Edition License.
20
* See http://www.coin3d.org/ for more information.
22
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
25
\**************************************************************************/
30
SbGeoAngle(const double d = 0.0);
31
SbGeoAngle(const double deg,
34
const char direction = 'N');
36
SbGeoAngle(const SbGeoAngle & ang);
38
SbGeoAngle & operator=(const double d);
39
SbGeoAngle & operator=(SbGeoAngle a);
41
void setDegree(const int d);
43
double rad(void) const;
45
int minutes(void) const;
46
double seconds(void) const;
48
operator double() const { return this->rad(); }
50
SbGeoAngle & operator+=(const SbGeoAngle & a);
51
SbGeoAngle & operator-=(const SbGeoAngle & a);
52
SbGeoAngle operator-() const;
53
SbGeoAngle operator+(SbGeoAngle a) const;
54
SbGeoAngle operator-(SbGeoAngle a) const;
55
SbGeoAngle operator+(double d) const;
56
SbGeoAngle operator-(double d) const;
57
friend SbGeoAngle operator+(double d, SbGeoAngle a);
58
friend SbGeoAngle operator-(double d, SbGeoAngle a);
60
SbGeoAngle & operator*=(double d);
61
SbGeoAngle operator*(double d) const;
62
friend SbGeoAngle operator*(double d, SbGeoAngle a);
64
SbGeoAngle & operator/=(double d);
65
SbGeoAngle operator/(double d) const;
67
bool operator==(const SbGeoAngle & p) const;
68
bool operator!=(const SbGeoAngle & a) const;
70
bool operator<(const SbGeoAngle & v) const;
71
bool operator>(const SbGeoAngle & v) const;
72
bool operator<=(const SbGeoAngle & v) const;
73
bool operator>=(const SbGeoAngle & v) const;
77
double degrees(void) const;