OpenLexocad
28.0
Axis.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (c) 2011 Jürgen Riegel <juergen.riegel@web.de> *
3
* *
4
* This file is part of the FreeCAD CAx development system. *
5
* *
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Library General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2 of the License, or (at your option) any later version. *
10
* *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU Library General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Library General Public *
17
* License along with this library; see the file COPYING.LIB. If not, *
18
* write to the Free Software Foundation, Inc., 59 Temple Place, *
19
* Suite 330, Boston, MA 02111-1307, USA *
20
* *
21
***************************************************************************/
22
23
24
#pragma once
25
26
#include <
Base/Vector3D.h
>
27
28
29
namespace
Base
{
30
class
Placement;
31
35
class
LX_BASE_EXPORT Axis
36
{
37
public
:
39
Axis() =
default
;
40
Axis(
const
Axis&);
41
Axis(
const
Vector3d
& Orig,
const
Vector3d
& Dir);
42
43
const
Vector3d
& getBase(
void
)
const
{
return
_base;}
44
const
Vector3d
& getDirection(
void
)
const
{
return
_dir;}
45
void
setBase(
const
Vector3d
& Orig) {_base=Orig;}
46
void
setDirection(
const
Vector3d
& Dir) {_dir=Dir;}
47
48
void
reverse();
49
Axis reversed()
const
;
50
void
move(
const
Vector3d
& MovVec);
51
54
Axis&
operator *=
(
const
Placement &p);
55
Axis
operator *
(
const
Placement
&p)
const
;
56
bool
operator ==(
const
Axis
&)
const
;
57
bool
operator !=
(
const
Axis
&)
const
;
58
Axis
& operator =(
const
Axis
&);
60
61
protected
:
62
Vector3d
_base;
63
Vector3d
_dir;
64
};
65
66
}
// namespace Base
Base::Placement
Definition:
Placement.h:56
Base::operator*=
Vector3f & operator*=(Vector3f &rclVect, const Matrix4D &rclMtrx)
Definition:
Matrix.h:367
Base::Vector3< double >
Base::Vector3d
Vector3< double > Vector3d
Definition:
Vector3D.h:246
Base::operator*
DualNumber operator*(DualNumber a, DualNumber b)
Definition:
DualNumber.h:91
entt::operator!=
constexpr bool operator!=(const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) ENTT_NOEXCEPT
Compares two hashed strings.
Definition:
entt.hpp:570
Vector3D.h
Base::Axis
Definition:
Axis.h:56
Base
Definition:
AbstractXMLReader.h:5
lexocad
Base
include
Base
Axis.h
Generated by
1.8.18