2
Copyright (c) 2008-2009 NetAllied Systems GmbH
4
This file is part of COLLADAFramework.
6
Licensed under the MIT Open Source License,
7
for details please see LICENSE file or the website
8
http://www.opensource.org/licenses/mit-license.php
11
#ifndef __COLLADAFW_SCALE_H__
12
#define __COLLADAFW_SCALE_H__
14
#include "COLLADAFWPrerequisites.h"
15
#include "COLLADAFWTransformation.h"
17
#include "Math/COLLADABUMathVector3.h"
22
class Scale : public Transformation
25
/** Vector representing the scales in three directions.*/
26
COLLADABU::Math::Vector3 mScaleVector;
29
/** Constructor. Creates identity scale.*/
32
/** Constructor. Sets scale to @a scaleVector.*/
33
Scale(const COLLADABU::Math::Vector3& scaleVector);
35
/** Constructor. Sets the components of the scale to @a x, @a y, @a z.*/
36
Scale(double x, double y, double z);
40
/** Returns the scale vector.*/
41
COLLADABU::Math::Vector3& getScale(){ return mScaleVector; }
43
/** Returns the scale vector.*/
44
const COLLADABU::Math::Vector3& getScale() const { return mScaleVector; }
46
/** Sets the scale vector.*/
47
void setScale(const COLLADABU::Math::Vector3& scaleVector) { mScaleVector = scaleVector; }
49
/** Sets the components of the scale to @a x, @a y, @a z.*/
50
void setScale(double x, double y, double z) { mScaleVector = COLLADABU::Math::Vector3(x, y, z); }
52
/** Clones the scale.*/
53
Scale* clone() const { return new Scale(*this); }
57
} // namespace COLLADAFW
59
#endif // __COLLADAFW_SCALE_H__