/usr/include/opencollada/COLLADAFramework/COLLADAFWShear.h is in opencollada-dev 0.1.0~20140703.ddf8f47+dfsg1-2.
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 | /*
Copyright (c) 2008-2009 NetAllied Systems GmbH
This file is part of COLLADAFramework.
Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
http://www.opensource.org/licenses/mit-license.php
*/
#ifndef __COLLADAFW_SHEAR_H__
#define __COLLADAFW_SHEAR_H__
#include "COLLADAFWPrerequisites.h"
namespace COLLADAFW
{
/**
Important assumptions on skew and shears:
1) COLLADA uses the RenderMan standard:
[ 1+s*dx*ex s*dx*ey s*dx*ez 0 ]
[ s*dy*ex 1+s*dy*ey s*dy*ez 0 ]
[ s*dz*ex s*dz*ey 1+s*dz*ez 0 ]
[ 0 0 0 1 ]
where s = tan(skewAngle), if the axises are normalized
2) COLLADA and Maya use different matrix row/column ordering.
3) Maya uses the following shear transform:
[ 1 0 0 0 ]
[ xy 1 0 0 ]
[ xz yx 1 0 ]
[ 0 0 0 1 ]
*/
class Shear
{
private:
/**< The axis which is rotated. */
COLLADABU::Math::Vector3 mRotateAxis;
/**< The axis around which to rotate. */
COLLADABU::Math::Vector3 mAroundAxis;
/**< The angle of rotation. */
float mAngle;
public:
/** Constructor. */
Shear() : mAngle (0) {}
/** Destructor. */
virtual ~Shear() {}
/**< The axis which is rotated. */
COLLADABU::Math::Vector3 getRotateAxis() const { return mRotateAxis; }
void setRotateAxis(COLLADABU::Math::Vector3 val) { mRotateAxis = val; }
/**< The axis around which to rotate. */
COLLADABU::Math::Vector3 getAroundAxis() const { return mAroundAxis; }
void setAroundAxis(COLLADABU::Math::Vector3 val) { mAroundAxis = val; }
/**< The angle of rotation. */
float getAngle() const { return mAngle; }
void setAngle(float val) { mAngle = val; }
private:
/** Disable default copy ctor. */
Shear( const Shear& pre );
/** Disable default assignment operator. */
const Shear& operator= ( const Shear& pre );
};
} // namespace COLLADAFW
#endif // __COLLADAFW_SHEAR_H__
|