/usr/include/cal3d/transform.h is in libcal3d12-dev 0.11.0-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | //****************************************************************************//
// coordsys.h //
// Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger //
//****************************************************************************//
// This library is free software; you can redistribute it and/or modify it //
// under the terms of the GNU Lesser General Public License as published by //
// the Free Software Foundation; either version 2.1 of the License, or (at //
// your option) any later version. //
//****************************************************************************//
#ifndef CAL_TRANSFORM_H
#define CAL_TRANSFORM_H
#include "cal3d/global.h"
#include "cal3d/vector.h"
#include "cal3d/quaternion.h"
namespace cal3d
{
/**
* Contains a translation and rotation that describe a coordinate
* system or transform.
*/
class CAL3D_API Transform
{
public:
Transform() { }
Transform(const CalVector& translation, const CalQuaternion& rotation)
: m_translation(translation)
, m_rotation(rotation)
{
}
~Transform() { }
const CalVector& getTranslation() const
{
return m_translation;
}
CalVector& getTranslation()
{
return m_translation;
}
const CalQuaternion& getRotation() const
{
return m_rotation;
}
CalQuaternion& getRotation()
{
return m_rotation;
}
void setTranslation(const CalVector& translation)
{
m_translation = translation;
}
void setRotation(const CalQuaternion& rotation)
{
m_rotation = rotation;
}
/// Sets this coordinate system to the identity rotation and translation.
void setIdentity()
{
m_translation.clear();
m_rotation.clear();
}
void blend(float t, const Transform& end)
{
m_translation.blend(t, end.getTranslation());
m_rotation.blend(t, end.getRotation());
}
bool operator==(const Transform& rhs) const
{
return m_translation == rhs.m_translation &&
m_rotation == rhs.m_rotation;
}
bool operator!=(const Transform& rhs) const
{
return !operator==(rhs);
}
private:
CalVector m_translation;
CalQuaternion m_rotation;
};
}
typedef cal3d::Transform CalTransform;
#endif
|