http://www.coin3d.org/
http://www.kongsberg.com/kogt/
Main Page
Classes
Files
File List
include
dime
entities
Arc.h
1
/**************************************************************************\
2
* Copyright (c) Kongsberg Oil & Gas Technologies AS
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
*
12
* Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32
33
#ifndef DIME_ARC_H
34
#define DIME_ARC_H
35
36
#include <dime/Basic.h>
37
#include <dime/entities/ExtrusionEntity.h>
38
#include <dime/util/Linear.h>
39
40
class
DIME_DLL_API
dimeArc
:
public
dimeExtrusionEntity
41
{
42
public
:
43
dimeArc
();
44
45
void
setCenter(
const
dimeVec3f
&c);
46
void
getCenter(
dimeVec3f
&c)
const
;
47
void
setRadius(
const
dxfdouble r);
48
dxfdouble getRadius()
const
;
49
void
setStartAngle(
const
dxfdouble a);
50
dxfdouble getStartAngle()
const
;
51
void
setEndAngle(
const
dxfdouble a);
52
dxfdouble getEndAngle()
const
;
53
54
virtual
bool
getRecord
(
const
int
groupcode,
55
dimeParam
¶m,
56
const
int
index = 0)
const
;
57
virtual
const
char
*
getEntityName
()
const
;
58
59
virtual
dimeEntity
*
copy
(
dimeModel
*
const
model)
const
;
60
61
virtual
void
print()
const
;
62
virtual
bool
write
(
dimeOutput
*
const
out);
63
virtual
int
typeId
()
const
;
64
virtual
int
countRecords
()
const
;
65
66
virtual
GeometryType
extractGeometry
(
dimeArray <dimeVec3f>
&verts,
67
dimeArray <int>
&indices,
68
dimeVec3f
&extrusionDir,
69
dxfdouble &thickness);
70
71
protected
:
72
virtual
bool
handleRecord
(
const
int
groupcode,
73
const
dimeParam
¶m,
74
dimeMemHandler
*
const
memhandler);
75
76
private
:
77
dimeVec3f
center;
78
dxfdouble radius;
79
dxfdouble startAngle;
80
dxfdouble endAngle;
81
82
};
// class dimeArc
83
84
//
85
// inline methods
86
//
87
88
inline
void
89
dimeArc::setCenter(
const
dimeVec3f
&c)
90
{
91
this->center = c;
92
}
93
94
inline
void
95
dimeArc::getCenter(
dimeVec3f
&c)
const
96
{
97
c = this->center;
98
}
99
100
inline
void
101
dimeArc::setRadius(
const
dxfdouble r)
102
{
103
this->radius = r;
104
}
105
106
inline
dxfdouble
107
dimeArc::getRadius()
const
108
{
109
return
this->radius;
110
}
111
112
inline
void
113
dimeArc::setStartAngle(
const
dxfdouble a)
114
{
115
this->startAngle = a;
116
}
117
118
inline
dxfdouble
119
dimeArc::getStartAngle()
const
120
{
121
return
this->startAngle;
122
}
123
124
inline
void
125
dimeArc::setEndAngle(
const
dxfdouble a)
126
{
127
this->endAngle = a;
128
}
129
130
inline
dxfdouble
131
dimeArc::getEndAngle()
const
132
{
133
return
this->endAngle;
134
}
135
136
#endif // ! DIME_ARC_H
137
Copyright © by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated on Tue Nov 18 2014 14:22:40 for Dime by
Doxygen
1.8.1.2.