myInverseNeedUpdate = true;
}
-// =======================================================================
-// function : ProjectionMatrix
-// purpose : Returns current projection matrix
-// =======================================================================
-const OpenGl_Mat4& OpenGl_ProjectionState::ProjectionMatrix() const
-{
- return myProjectionMatrix;
-}
-
// =======================================================================
// function : ProjectionMatrixInverse
// purpose : Returns inverse of current projection matrix
// =======================================================================
const OpenGl_Mat4& OpenGl_ProjectionState::ProjectionMatrixInverse() const
{
- if (!myInverseNeedUpdate)
+ if (myInverseNeedUpdate)
{
- return myProjectionMatrixInverse;
+ myInverseNeedUpdate = false;
+ myProjectionMatrix.Inverted (myProjectionMatrixInverse);
}
-
- myProjectionMatrix.Inverted (myProjectionMatrixInverse);
-
return myProjectionMatrixInverse;
}
myInverseNeedUpdate = true;
}
-// =======================================================================
-// function : ModelWorldMatrix
-// purpose : Returns current model-world matrix
-// =======================================================================
-const OpenGl_Mat4& OpenGl_ModelWorldState::ModelWorldMatrix() const
-{
- return myModelWorldMatrix;
-}
-
// =======================================================================
// function : ModelWorldMatrixInverse
// purpose : Returns inverse of current model-world matrix
// =======================================================================
const OpenGl_Mat4& OpenGl_ModelWorldState::ModelWorldMatrixInverse() const
{
- if (!myInverseNeedUpdate)
+ if (myInverseNeedUpdate)
{
- return myModelWorldMatrix;
+ myInverseNeedUpdate = false;
+ myModelWorldMatrix.Inverted (myModelWorldMatrixInverse);
}
-
- myModelWorldMatrix.Inverted (myModelWorldMatrixInverse);
-
return myModelWorldMatrixInverse;
}
myInverseNeedUpdate = true;
}
-// =======================================================================
-// function : WorldViewMatrix
-// purpose : Returns current world-view matrix
-// =======================================================================
-const OpenGl_Mat4& OpenGl_WorldViewState::WorldViewMatrix() const
-{
- return myWorldViewMatrix;
-}
-
// =======================================================================
// function : WorldViewMatrixInverse
// purpose : Returns inverse of current world-view matrix
// =======================================================================
const OpenGl_Mat4& OpenGl_WorldViewState::WorldViewMatrixInverse() const
{
- if (!myInverseNeedUpdate)
+ if (myInverseNeedUpdate)
{
- return myWorldViewMatrix;
+ myInverseNeedUpdate = false;
+ myWorldViewMatrix.Inverted (myWorldViewMatrixInverse);
}
-
- myWorldViewMatrix.Inverted (myWorldViewMatrixInverse);
-
return myWorldViewMatrixInverse;
}
Standard_EXPORT void Set (const OpenGl_Mat4& theProjectionMatrix);
//! Returns current projection matrix.
- Standard_EXPORT const OpenGl_Mat4& ProjectionMatrix() const;
+ const OpenGl_Mat4& ProjectionMatrix() const { return myProjectionMatrix; }
//! Returns inverse of current projection matrix.
Standard_EXPORT const OpenGl_Mat4& ProjectionMatrixInverse() const;
OpenGl_Mat4 myProjectionMatrix; //!< OCCT projection matrix
mutable OpenGl_Mat4 myProjectionMatrixInverse; //!< Inverse of OCCT projection matrix
- bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
+ mutable bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
};
Standard_EXPORT void Set (const OpenGl_Mat4& theModelWorldMatrix);
//! Returns current model-world matrix.
- Standard_EXPORT const OpenGl_Mat4& ModelWorldMatrix() const;
+ const OpenGl_Mat4& ModelWorldMatrix() const { return myModelWorldMatrix; }
//! Returns inverse of current model-world matrix.
Standard_EXPORT const OpenGl_Mat4& ModelWorldMatrixInverse() const;
OpenGl_Mat4 myModelWorldMatrix; //!< OCCT model-world matrix
mutable OpenGl_Mat4 myModelWorldMatrixInverse; //!< Inverse of OCCT model-world matrix
- bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
+ mutable bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
};
Standard_EXPORT void Set (const OpenGl_Mat4& theWorldViewMatrix);
//! Returns current world-view matrix.
- Standard_EXPORT const OpenGl_Mat4& WorldViewMatrix() const;
+ const OpenGl_Mat4& WorldViewMatrix() const { return myWorldViewMatrix; }
//! Returns inverse of current world-view matrix.
Standard_EXPORT const OpenGl_Mat4& WorldViewMatrixInverse() const;
OpenGl_Mat4 myWorldViewMatrix; //!< OCCT world-view matrix
mutable OpenGl_Mat4 myWorldViewMatrixInverse; //!< Inverse of OCCT world-view matrix
- bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
+ mutable bool myInverseNeedUpdate; //!< Is inversed matrix outdated?
};