Main Page
Classes
Files
File List
include
dime
entities
Ellipse.h
1
/**************************************************************************\
2
*
3
* FILE: Ellipse.h
4
*
5
* This source file is part of DIME.
6
* Copyright (C) 1998-1999 by Systems In Motion. All rights reserved.
7
*
8
* This library is free software; you can redistribute it and/or modify it
9
* under the terms of the GNU General Public License, version 2, as
10
* published by the Free Software Foundation.
11
*
12
* This library is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License (the accompanying file named COPYING) for more
16
* details.
17
*
18
**************************************************************************
19
*
20
* If you need DIME for a non-GPL project, contact Systems In Motion
21
* to acquire a Professional Edition License:
22
*
23
* Systems In Motion http://www.sim.no/
24
* Prof. Brochs gate 6 sales@sim.no
25
* N-7030 Trondheim Voice: +47 22114160
26
* NORWAY Fax: +47 67172912
27
*
28
\**************************************************************************/
29
30
#ifndef DIME_ELLIPSE_H
31
#define DIME_ELLIPSE_H
32
33
#include <dime/Basic.h>
34
#include <dime/entities/ExtrusionEntity.h>
35
#include <dime/util/Linear.h>
36
37
//
38
// please note that the thickness will always be 0.0 for this entity
39
//
40
41
class
DIME_DLL_API
dimeEllipse
:
public
dimeExtrusionEntity
42
{
43
public
:
44
dimeEllipse
();
45
46
void
setCenter(
const
dimeVec3f
&c);
47
const
dimeVec3f
&getCenter()
const
;
48
49
void
setMajorAxisEndpoint(
const
dimeVec3f
&v);
50
const
dimeVec3f
&getMajorAxisEndpoint()
const
;
51
52
void
setMinorMajorRatio(
const
dxfdouble ratio);
53
dxfdouble getMinorMajorRatio()
const
;
54
55
void
setStartParam(
const
dxfdouble p);
56
dxfdouble getStartParam()
const
;
57
58
void
setEndParam(
const
dxfdouble p);
59
dxfdouble getEndParam()
const
;
60
61
virtual
dimeEntity
*
copy
(
dimeModel
*
const
model)
const
;
62
virtual
bool
getRecord
(
const
int
groupcode,
63
dimeParam
¶m,
64
const
int
index = 0)
const
;
65
virtual
const
char
*
getEntityName
()
const
;
66
virtual
void
print()
const
;
67
virtual
bool
write
(
dimeOutput
*
const
out);
68
virtual
int
typeId
()
const
;
69
virtual
int
countRecords
()
const
;
70
71
protected
:
72
virtual
bool
handleRecord
(
const
int
groupcode,
73
const
dimeParam
¶m,
74
dimeMemHandler
*
const
memhandler);
75
private
:
76
dimeVec3f
center;
77
dimeVec3f
majorAxisEndpoint;
78
dxfdouble ratio;
79
dxfdouble startParam;
80
dxfdouble endParam;
81
82
};
// class dimeEllipse
83
84
inline
const
dimeVec3f
&
85
dimeEllipse::getCenter
()
const
86
{
87
return
this->center;
88
}
89
90
inline
void
91
dimeEllipse::setCenter
(
const
dimeVec3f
&c)
92
{
93
this->center = c;
94
}
95
96
inline
void
97
dimeEllipse::setMajorAxisEndpoint
(
const
dimeVec3f
&v)
98
{
99
this->majorAxisEndpoint = v;
100
}
101
102
inline
const
dimeVec3f
&
103
dimeEllipse::getMajorAxisEndpoint
()
const
104
{
105
return
this->majorAxisEndpoint;
106
}
107
108
inline
void
109
dimeEllipse::setMinorMajorRatio
(
const
dxfdouble ratio)
110
{
111
this->ratio = ratio;
112
}
113
114
inline
dxfdouble
115
dimeEllipse::getMinorMajorRatio
()
const
116
{
117
return
this->ratio;
118
}
119
120
inline
void
121
dimeEllipse::setStartParam
(
const
dxfdouble p)
122
{
123
this->startParam = p;
124
}
125
126
inline
dxfdouble
127
dimeEllipse::getStartParam
()
const
128
{
129
return
this->startParam;
130
}
131
132
inline
void
133
dimeEllipse::setEndParam
(
const
dxfdouble p)
134
{
135
this->endParam = p;
136
}
137
138
inline
dxfdouble
139
dimeEllipse::getEndParam
()
const
140
{
141
return
this->endParam;
142
}
143
144
#endif // ! DIME_ELLIPSE_H
145
Copyright © 1998-1999,
Systems In Motion
<
sales@sim.no
>. All rights reserved.
System documentation was generated using
doxygen
.