diff --git a/3d-viewer/3d_cache/sg/scenegraph.cpp b/3d-viewer/3d_cache/sg/scenegraph.cpp index b99403242..aa5fab1ce 100644 --- a/3d-viewer/3d_cache/sg/scenegraph.cpp +++ b/3d-viewer/3d_cache/sg/scenegraph.cpp @@ -741,18 +741,18 @@ bool SCENEGRAPH::Prepare( const glm::dmat4* aTransform, double rX, rY, rZ; // rotation rotation_axis.GetVector( rX, rY, rZ ); - glm::dmat4 rM = glm::rotate( rotation_angle, glm::dvec3( rX, rY, rZ ) ); + glm::dmat4 rM = glm::rotate( glm::dmat4(static_cast(1)), rotation_angle, glm::dvec3( rX, rY, rZ ) ); // translation - glm::dmat4 tM = glm::translate( glm::dvec3( translation.x, translation.y, translation.z ) ); + glm::dmat4 tM = glm::translate( glm::dmat4(static_cast(1)), glm::dvec3( translation.x, translation.y, translation.z ) ); // center - glm::dmat4 cM = glm::translate( glm::dvec3( center.x, center.y, center.z ) ); - glm::dmat4 ncM = glm::translate( glm::dvec3( -center.x, -center.y, -center.z ) ); + glm::dmat4 cM = glm::translate( glm::dmat4(static_cast(1)), glm::dvec3( center.x, center.y, center.z ) ); + glm::dmat4 ncM = glm::translate( glm::dmat4(static_cast(1)), glm::dvec3( -center.x, -center.y, -center.z ) ); // scale glm::dmat4 sM = glm::scale( glm::dmat4( 1.0 ), glm::dvec3( scale.x, scale.y, scale.z ) ); // scaleOrientation scale_axis.GetVector( rX, rY, rZ ); - glm::dmat4 srM = glm::rotate( scale_angle, glm::dvec3( rX, rY, rZ ) ); - glm::dmat4 nsrM = glm::rotate( -scale_angle, glm::dvec3( rX, rY, rZ ) ); + glm::dmat4 srM = glm::rotate( glm::dmat4(static_cast(1)), scale_angle, glm::dvec3( rX, rY, rZ ) ); + glm::dmat4 nsrM = glm::rotate( glm::dmat4(static_cast(1)), -scale_angle, glm::dvec3( rX, rY, rZ ) ); // resultant point: // P' = T x C x R x SR x S x -SR x -C x P diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp index cdc25a8b6..1e660dbba 100644 --- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp +++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp @@ -108,9 +108,10 @@ void C3D_RENDER_OGL_LEGACY::generate_ring_contour( const SFVEC2F &aCenter, for( int ii = 0; ii < 3600; ii += delta ) { - const SFVEC2F rotatedDir = glm::rotate( SFVEC2F( 1.0f, 0.0f ), - (float)(aInvertOrder?(3600 - ii):ii) * - 2.0f * glm::pi() / 3600.0f ); + float angle = (float)(aInvertOrder?(3600 - ii):ii) * + 2.0f * glm::pi() / 3600.0f; + + const SFVEC2F rotatedDir = SFVEC2F( cos(angle), sin(angle) ); aInnerContourResult.push_back( SFVEC2F( aCenter.x + rotatedDir.x * aInnerRadius, aCenter.y + rotatedDir.y * aInnerRadius ) ); diff --git a/plugins/3d/vrml/v1/vrml1_node.h b/plugins/3d/vrml/v1/vrml1_node.h index 2fff14725..13f8242db 100644 --- a/plugins/3d/vrml/v1/vrml1_node.h +++ b/plugins/3d/vrml/v1/vrml1_node.h @@ -31,7 +31,7 @@ #define VRML1_NODE_H #define GLM_FORCE_RADIANS -#include + #include #include diff --git a/plugins/3d/vrml/v1/vrml1_transform.cpp b/plugins/3d/vrml/v1/vrml1_transform.cpp index 629b0ff45..9740fb4a1 100644 --- a/plugins/3d/vrml/v1/vrml1_transform.cpp +++ b/plugins/3d/vrml/v1/vrml1_transform.cpp @@ -364,19 +364,19 @@ SGNODE* WRL1TRANSFORM::TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) rY = rotation.y; rZ = rotation.z; rW = rotation.w; - glm::mat4 rM = glm::rotate( rW, glm::vec3( rX, rY, rZ ) ); + glm::mat4 rM = glm::rotate( glm::mat4(static_cast(1)), rW, glm::vec3( rX, rY, rZ ) ); // translation float dX, dY, dZ; dX = translation.x; dY = translation.y; dZ = translation.z; - glm::mat4 tM = glm::translate( glm::vec3( dX, dY, dZ ) ); + glm::mat4 tM = glm::translate( glm::mat4(static_cast(1)), glm::vec3( dX, dY, dZ ) ); // center dX = center.x; dY = center.y; dZ = center.z; - glm::mat4 cM = glm::translate( glm::vec3( dX, dY, dZ ) ); - glm::mat4 ncM = glm::translate( glm::vec3( -dX, -dY, -dZ ) ); + glm::mat4 cM = glm::translate( glm::mat4(static_cast(1)), glm::vec3( dX, dY, dZ ) ); + glm::mat4 ncM = glm::translate( glm::mat4(static_cast(1)), glm::vec3( -dX, -dY, -dZ ) ); // scale glm::mat4 sM = glm::scale( glm::mat4( 1.0 ), glm::vec3( scale.x, scale.y, scale.z ) ); // scaleOrientation @@ -384,8 +384,8 @@ SGNODE* WRL1TRANSFORM::TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) rY = scaleOrientation.y; rZ = scaleOrientation.z; rW = scaleOrientation.w; - glm::mat4 srM = glm::rotate( rW, glm::vec3( rX, rY, rZ ) ); - glm::mat4 nsrM = glm::rotate( -rW, glm::vec3( rX, rY, rZ ) ); + glm::mat4 srM = glm::rotate( glm::mat4(static_cast(1)), rW, glm::vec3( rX, rY, rZ ) ); + glm::mat4 nsrM = glm::rotate( glm::mat4(static_cast(1)), -rW, glm::vec3( rX, rY, rZ ) ); // resultant transform: // tx' = tM * cM * rM * srM * sM * nsrM * ncM