X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fmath%2Fangle-axis.h;h=1ff1ed3883355219a15cfc440a7f63e2e4b83559;hb=8d052754bcebb819b20471d34be67ed59beebf29;hp=c41ad53185da2ec12171b2005087759f59800bf9;hpb=56d2c35b84100fad3fd3a1c064f75a7763c9d117;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/math/angle-axis.h b/dali/public-api/math/angle-axis.h index c41ad53..1ff1ed3 100644 --- a/dali/public-api/math/angle-axis.h +++ b/dali/public-api/math/angle-axis.h @@ -1,8 +1,8 @@ -#ifndef __DALI_ANGLE_AXIS_H__ -#define __DALI_ANGLE_AXIS_H__ +#ifndef DALI_ANGLE_AXIS_H +#define DALI_ANGLE_AXIS_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,20 @@ * */ +// EXTERNAL INCLUDES +#include +#include + // INTERNAL INCLUDES -#include #include #include namespace Dali { +/** + * @addtogroup dali_core_math + * @{ + */ struct Radian; @@ -33,11 +40,13 @@ struct Radian; * * This is slightly easier to understand than quaternions for handling rotations * of objects. Both elements should be non-zero to correctly describe a rotation. + * @SINCE_1_0.0 */ struct AngleAxis { /** - * @brief Create an angle-axis pair. + * @brief Creates an angle-axis pair. + * @SINCE_1_0.0 */ AngleAxis() : angle(0.0f), @@ -45,23 +54,13 @@ struct AngleAxis { } /** - * @brief Create an angle-axis pair. + * @brief Creates an angle-axis pair. * - * @param[in] initialAngle The initial angle in degrees. - * @param[in] initialAxis The initial axis. + * @SINCE_1_0.0 + * @param[in] initialAngle The initial angle in radians + * @param[in] initialAxis The initial axis */ - AngleAxis( Degree initialAngle, Vector3 initialAxis ) - : angle( initialAngle ), - axis( initialAxis ) - { } - - /** - * @brief Create an angle-axis pair. - * - * @param[in] initialAngle The initial angle in radians. - * @param[in] initialAxis The initial axis. - */ - AngleAxis( Radian initialAngle, Vector3 initialAxis ) + AngleAxis( Radian initialAngle, const Vector3& initialAxis ) : angle( initialAngle ), axis( initialAxis ) { } @@ -71,8 +70,37 @@ struct AngleAxis }; -// compiler generated destructor, copy constructor and assignment operators are ok as this class is POD +// Compiler generated destructor, copy constructor and assignment operators are ok as this class is POD + +/** + * @brief Compares two angle axis for equality. + * + * @SINCE_1_0.0 + * @param lhs angle axis + * @param rhs angle axis + * @return True if they are equal + */ +inline bool operator==( const Dali::AngleAxis& lhs, const Dali::AngleAxis& rhs ) +{ + return (lhs.angle == rhs.angle) && (lhs.axis == rhs.axis); +} +/** + * @brief Prints an angle axis. + * + * @SINCE_1_1.33 + * @param[in] o The output stream operator + * @param[in] angleAxis The angle axis to print + * @return The output stream operator + */ +inline std::ostream& operator<< (std::ostream& o, const Dali::AngleAxis& angleAxis) +{ + return o << "[ Axis: [" << angleAxis.axis.x << ", " << angleAxis.axis.y << ", " << angleAxis.axis.z << "], Angle: " << Degree( angleAxis.angle ).degree << " degrees ]"; +} + +/** + * @} + */ } // namespace Dali -#endif // __DALI_ANGLE_AXIS_H__ +#endif // DALI_ANGLE_AXIS_H