OpenLexocad
27.1
GTrsf.h
Go to the documentation of this file.
1
//
3
// Copyright(C) 2013-2016 OpenCascade [www.opencascade.org]
4
//
5
// This library is free software; you can redistribute it and / or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
10
// This library is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU
13
// Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public
16
// License along with this library; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin Street,
18
// Fifth Floor, Boston, MA 02110 - 1301 USA
19
//
21
22
#pragma once
23
24
#include <
Geom/Trsf.h
>
25
26
27
44
45
namespace
Geom
46
{
47
class
LX_GEOM_EXPORT
GTrsf
48
{
49
public
:
51
GTrsf
();
52
56
GTrsf
(
const
Geom::Trsf
& T);
57
61
GTrsf
(
const
Geom::Mat
& M,
const
Geom::XYZ
& V);
69
void
SetAffinity(
const
Geom::Ax1
& A1,
const
double
Ratio);
78
void
SetAffinity(
const
Geom::Ax2
& A2,
const
double
Ratio);
79
83
void
SetValue(
const
int
Row,
const
int
Col,
const
double
Value);
85
void
SetVectorialPart(
const
Geom::Mat
& Matrix);
88
void
SetTranslationPart(
const
Geom::XYZ
& Coord);
90
void
SetTrsf(
const
Geom::Trsf
& T);
91
94
unsigned
int
IsNegative()
const
;
95
104
unsigned
int
IsSingular()
const
;
105
111
Geom::Trsf::FormEnum
Form()
const
;
112
119
void
SetForm();
121
const
Geom::XYZ
& TranslationPart()
const
;
122
125
const
Geom::Mat
& VectorialPart()
const
;
126
129
double
Value(
const
int
Row,
const
int
Col)
const
;
130
double
operator()
(
const
int
Row,
const
int
Col)
const
{
return
Value(Row, Col); }
131
132
void
Invert();
133
137
Geom::GTrsf
Inverted()
const
;
138
153
void
Multiply(
const
Geom::GTrsf
& T);
154
157
Geom::GTrsf
Multiplied(
const
Geom::GTrsf
& T)
const
;
158
162
void
PreMultiply(
const
Geom::GTrsf
& T);
163
164
void
Power(
const
int
N);
165
176
Geom::GTrsf
Powered(
const
int
N)
const
;
177
178
void
Transforms(
Geom::XYZ
& Coord)
const
;
180
void
Transforms(
double
&
X
,
double
&
Y
,
double
&
Z
)
const
;
181
182
Geom::Trsf
Trsf
(
bool
aAllowOtherFormInConstruction =
false
)
const
;
183
// const Geom::Mat& _CSFDB_GetGTrsfmatrix() const { return matrix; }
184
// const Geom::XYZ& _CSFDB_GetGTrsfloc() const { return loc; }
185
// Base::TrsfForm _CSFDB_GetGTrsfshape() const { return shape; }
186
// void _CSFDB_SetGTrsfshape(const Base::TrsfForm p) { shape = p; }
187
// double _CSFDB_GetGTrsfscale() const { return scale; }
188
// void _CSFDB_SetGTrsfscale(const double p) { scale = p; }
189
190
191
192
protected
:
193
private
:
194
Geom::Mat
matrix;
195
Geom::XYZ
loc;
196
Geom::Trsf::FormEnum
shape;
197
double
scale;
198
};
199
200
201
202
}
// namespace Geom
Geom
Definition:
Variant.h:60
X
X
Definition:
Globals.h:29
Trsf.h
Geom::Mat
Definition:
Mat.h:38
Geom::Ax2
Definition:
Ax2.h:67
Geom::XYZ
Definition:
XYZ.h:43
Geom::Trsf
Definition:
Trsf.h:57
Y
Y
Definition:
Globals.h:29
Geom::GTrsf::operator()
double operator()(const int Row, const int Col) const
Definition:
GTrsf.h:130
Geom::Trsf::FormEnum
FormEnum
Definition:
Trsf.h:96
Geom::Ax1
Definition:
Ax1.h:50
Z
Z
Definition:
Globals.h:29
Geom::GTrsf
Definition:
GTrsf.h:47
lexocad
Geom
include
Geom
GTrsf.h
Generated by
1.8.15