openscenegraph
include
osg
PositionAttitudeTransform
Go to the documentation of this file.
1
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2
*
3
* This library is open source and may be redistributed and/or modified under
4
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5
* (at your option) any later version. The full license is in LICENSE file
6
* included with this distribution, and on the openscenegraph.org website.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* OpenSceneGraph Public License for more details.
12
*/
13
14
#ifndef OSG_POSITIONATTITUDETRANSFORM
15
#define OSG_POSITIONATTITUDETRANSFORM 1
16
17
#include <
osg/Group
>
18
#include <
osg/Transform
>
19
#include <
osg/AnimationPath
>
20
#include <
osg/Vec3d
>
21
#include <
osg/Quat
>
22
23
namespace
osg
{
24
28
class
OSG_EXPORT
PositionAttitudeTransform
:
public
Transform
29
{
30
public :
31
PositionAttitudeTransform
();
32
33
PositionAttitudeTransform
(
const
PositionAttitudeTransform
& pat,
const
CopyOp
& copyop=
CopyOp::SHALLOW_COPY
):
34
Transform
(pat,copyop),
35
_position
(pat.
_position
),
36
_attitude
(pat.
_attitude
),
37
_scale
(pat.
_scale
),
38
_pivotPoint
(pat.
_pivotPoint
) {}
39
40
41
META_Node
(
osg
,
PositionAttitudeTransform
);
42
43
virtual
PositionAttitudeTransform
*
asPositionAttitudeTransform
() {
return
this
; }
44
virtual
const
PositionAttitudeTransform
*
asPositionAttitudeTransform
()
const
{
return
this
; }
45
46
inline
void
setPosition
(
const
Vec3d
& pos) {
_position
= pos;
dirtyBound
(); }
47
inline
const
Vec3d
&
getPosition
()
const
{
return
_position
; }
48
49
50
inline
void
setAttitude
(
const
Quat
& quat) {
_attitude
= quat;
dirtyBound
(); }
51
inline
const
Quat
&
getAttitude
()
const
{
return
_attitude
; }
52
53
54
inline
void
setScale
(
const
Vec3d
& scale) {
_scale
= scale;
dirtyBound
(); }
55
inline
const
Vec3d
&
getScale
()
const
{
return
_scale
; }
56
57
58
inline
void
setPivotPoint
(
const
Vec3d
& pivot) {
_pivotPoint
= pivot;
dirtyBound
(); }
59
inline
const
Vec3d
&
getPivotPoint
()
const
{
return
_pivotPoint
; }
60
61
62
virtual
bool
computeLocalToWorldMatrix
(
Matrix
& matrix,
NodeVisitor
* nv)
const
;
63
virtual
bool
computeWorldToLocalMatrix
(
Matrix
& matrix,
NodeVisitor
* nv)
const
;
64
65
66
protected :
67
68
virtual
~PositionAttitudeTransform
() {}
69
70
Vec3d
_position
;
71
Quat
_attitude
;
72
Vec3d
_scale
;
73
Vec3d
_pivotPoint
;
74
};
75
76
}
77
78
#endif
AnimationPath
Group
Quat
Transform
Vec3d
osg::CopyOp
Definition
CopyOp:41
osg::CopyOp::SHALLOW_COPY
@ SHALLOW_COPY
Definition
CopyOp:47
osg::NodeVisitor
Definition
NodeVisitor:82
osg::Node::dirtyBound
void dirtyBound()
osg::PositionAttitudeTransform::PositionAttitudeTransform
PositionAttitudeTransform(const PositionAttitudeTransform &pat, const CopyOp ©op=CopyOp::SHALLOW_COPY)
Definition
PositionAttitudeTransform:33
osg::PositionAttitudeTransform::setPosition
void setPosition(const Vec3d &pos)
Definition
PositionAttitudeTransform:46
osg::PositionAttitudeTransform::_position
Vec3d _position
Definition
PositionAttitudeTransform:70
osg::PositionAttitudeTransform::~PositionAttitudeTransform
virtual ~PositionAttitudeTransform()
Definition
PositionAttitudeTransform:68
osg::PositionAttitudeTransform::setScale
void setScale(const Vec3d &scale)
Definition
PositionAttitudeTransform:54
osg::PositionAttitudeTransform::PositionAttitudeTransform
PositionAttitudeTransform()
osg::PositionAttitudeTransform::asPositionAttitudeTransform
virtual const PositionAttitudeTransform * asPositionAttitudeTransform() const
Definition
PositionAttitudeTransform:44
osg::PositionAttitudeTransform::setPivotPoint
void setPivotPoint(const Vec3d &pivot)
Definition
PositionAttitudeTransform:58
osg::PositionAttitudeTransform::getPivotPoint
const Vec3d & getPivotPoint() const
Definition
PositionAttitudeTransform:59
osg::PositionAttitudeTransform::asPositionAttitudeTransform
virtual PositionAttitudeTransform * asPositionAttitudeTransform()
Definition
PositionAttitudeTransform:43
osg::PositionAttitudeTransform::_scale
Vec3d _scale
Definition
PositionAttitudeTransform:72
osg::PositionAttitudeTransform::computeWorldToLocalMatrix
virtual bool computeWorldToLocalMatrix(Matrix &matrix, NodeVisitor *nv) const
osg::PositionAttitudeTransform::getAttitude
const Quat & getAttitude() const
Definition
PositionAttitudeTransform:51
osg::PositionAttitudeTransform::META_Node
META_Node(osg, PositionAttitudeTransform)
osg::PositionAttitudeTransform::setAttitude
void setAttitude(const Quat &quat)
Definition
PositionAttitudeTransform:50
osg::PositionAttitudeTransform::_attitude
Quat _attitude
Definition
PositionAttitudeTransform:71
osg::PositionAttitudeTransform::computeLocalToWorldMatrix
virtual bool computeLocalToWorldMatrix(Matrix &matrix, NodeVisitor *nv) const
osg::PositionAttitudeTransform::getPosition
const Vec3d & getPosition() const
Definition
PositionAttitudeTransform:47
osg::PositionAttitudeTransform::getScale
const Vec3d & getScale() const
Definition
PositionAttitudeTransform:55
osg::PositionAttitudeTransform::_pivotPoint
Vec3d _pivotPoint
Definition
PositionAttitudeTransform:73
osg::Quat
Definition
Quat:30
osg::Transform::Transform
Transform()
osg::Vec3d
Definition
Vec3d:30
osg
Definition
AlphaFunc:19
osg::Matrix
Matrixd Matrix
Definition
Matrix:27
OSG_EXPORT
#define OSG_EXPORT
Definition
osg/Export:39
Generated by
1.15.0