Loading LrCamera.cpp 0 → 100644 +169 −0 Original line number Diff line number Diff line #if defined HAVE_CONFIG_H #include "config.h" #endif /***************************************************************************** * class LrCamera (body) * * * * Ray Tracing Project - Master 1 (2007/2008) * * UFR Sciences Fondamentales et Appliques de l'Universit de Poitiers * * author : J.Francois, M.Nauge, A.Richard, H.Souchaud, E.Vershuur * * creation : Friday, March 7 2008 (3/7/2008) * *---------------------------------------------------------------------------* * $Id$ *---------------------------------------------------------------------------* * Log : see end of file * *****************************************************************************/ #include "LrCamera.h" /*---------------------------------------------------------------------------* * constructors and destructor * *---------------------------------------------------------------------------*/ LrCamera::LrCamera() : m_m_position(), m_m_vertical(), m_m_direction(), m_m_angleX(), m_m_angleY() { } LrCamera::LrCamera(const LrCamera &source) : m_m_position(source.m_m_position), m_m_vertical(source.m_m_vertical), m_m_direction(source.m_m_direction), m_m_angleX(source.m_m_angleX), m_m_angleY(source.m_m_angleY) { } LrCamera * LrCamera::clone() const { return new LrCamera(*this); } LrCamera::LrCamera(const LrPoint &m_position, const LrVector &m_vertical, const LrVector &m_direction, real m_angleX, real m_angleY) : m_m_position(m_position), m_m_vertical(m_vertical), m_m_direction(m_direction), m_m_angleX(m_angleX), m_m_angleY(m_angleY) { } LrCamera::~LrCamera() { } /*---------------------------------------------------------------------------* * assignement operator(s) * *---------------------------------------------------------------------------*/ LrCamera & LrCamera::operator = (const LrCamera &source) { if (this == &source) return *this; m_m_position = source.m_m_position; m_m_vertical = source.m_m_vertical; m_m_direction = source.m_m_direction; m_m_angleX = source.m_m_angleX; m_m_angleY = source.m_m_angleY; return *this; } /*---------------------------------------------------------------------------* * comparison operator(s) * *---------------------------------------------------------------------------*/ bool operator == (const LrCamera &lhs, const LrCamera &rhs) { return (lhs.m_m_position == rhs.m_m_position) && (lhs.m_m_vertical == rhs.m_m_vertical) && (lhs.m_m_direction == rhs.m_m_direction) && (lhs.m_m_angleX == rhs.m_m_angleX) && (lhs.m_m_angleY == rhs.m_m_angleY); } bool operator != (const LrCamera &lhs, const LrCamera &rhs) { return (! (lhs == rhs)); } /*---------------------------------------------------------------------------* * accessors * *---------------------------------------------------------------------------*/ LrPoint LrCamera::getM_position() const { return m_m_position; } void LrCamera::setM_position(const LrPoint &m_position) { m_m_position = m_position; } LrVector LrCamera::getM_vertical() const { return m_m_vertical; } void LrCamera::setM_vertical(const LrVector &m_vertical) { m_m_vertical = m_vertical; } LrVector LrCamera::getM_direction() const { return m_m_direction; } void LrCamera::setM_direction(const LrVector &m_direction) { m_m_direction = m_direction; } real LrCamera::getM_angleX() const { return m_m_angleX; } void LrCamera::setM_angleX(real m_angleX) { m_m_angleX = m_angleX; } real LrCamera::getM_angleY() const { return m_m_angleY; } void LrCamera::setM_angleY(real m_angleY) { m_m_angleY = m_angleY; } /***************************************************************************** * $Log$ *****************************************************************************/ LrCamera.h 0 → 100644 +85 −0 Original line number Diff line number Diff line /***************************************************************************** * class LrCamera (specification) * * * * Ray Tracing Project - Master 1 (2007/2008) * * UFR Sciences Fondamentales et Appliques de l'Universit de Poitiers * * author : J.Francois, M.Nauge, A.Richard, H.Souchaud, E.Vershuur * * creation : Friday, March 7 2008 (3/7/2008) * *---------------------------------------------------------------------------* * $Id$ *---------------------------------------------------------------------------* * Log : see end of file * *****************************************************************************/ #ifndef LRCAMERA_H #define LRCAMERA_H #include "LrPoint.h" #include "LrVector.h" class LrCamera { public: // constructors and destructor // *************************** LrCamera(); LrCamera(const LrCamera &source); LrCamera * clone() const; LrCamera(const LrPoint &m_position, const LrVector &m_vertical, const LrVector &m_direction, real m_angleX, real m_angleY); virtual ~LrCamera(); // assignement operator(s) // *********************** LrCamera & operator = (const LrCamera &source); // comparison operator(s) // ********************** friend bool operator == (const LrCamera &lhs, const LrCamera &rhs); friend bool operator != (const LrCamera &lhs, const LrCamera &rhs); // accessors // ********* LrPoint getM_position() const; void setM_position(const LrPoint &m_position); LrVector getM_vertical() const; void setM_vertical(const LrVector &m_vertical); LrVector getM_direction() const; void setM_direction(const LrVector &m_direction); real getM_angleX() const; void setM_angleX(real m_angleX); real getM_angleY() const; void setM_angleY(real m_angleY); // // ***************** LrRay getRay(real u, real v) const; private: // data // **** LrPoint m_m_position; LrVector m_m_vertical; LrVector m_m_direction; real m_m_angleX; real m_m_angleY; }; #endif /***************************************************************************** * $Log$ *****************************************************************************/ Loading
LrCamera.cpp 0 → 100644 +169 −0 Original line number Diff line number Diff line #if defined HAVE_CONFIG_H #include "config.h" #endif /***************************************************************************** * class LrCamera (body) * * * * Ray Tracing Project - Master 1 (2007/2008) * * UFR Sciences Fondamentales et Appliques de l'Universit de Poitiers * * author : J.Francois, M.Nauge, A.Richard, H.Souchaud, E.Vershuur * * creation : Friday, March 7 2008 (3/7/2008) * *---------------------------------------------------------------------------* * $Id$ *---------------------------------------------------------------------------* * Log : see end of file * *****************************************************************************/ #include "LrCamera.h" /*---------------------------------------------------------------------------* * constructors and destructor * *---------------------------------------------------------------------------*/ LrCamera::LrCamera() : m_m_position(), m_m_vertical(), m_m_direction(), m_m_angleX(), m_m_angleY() { } LrCamera::LrCamera(const LrCamera &source) : m_m_position(source.m_m_position), m_m_vertical(source.m_m_vertical), m_m_direction(source.m_m_direction), m_m_angleX(source.m_m_angleX), m_m_angleY(source.m_m_angleY) { } LrCamera * LrCamera::clone() const { return new LrCamera(*this); } LrCamera::LrCamera(const LrPoint &m_position, const LrVector &m_vertical, const LrVector &m_direction, real m_angleX, real m_angleY) : m_m_position(m_position), m_m_vertical(m_vertical), m_m_direction(m_direction), m_m_angleX(m_angleX), m_m_angleY(m_angleY) { } LrCamera::~LrCamera() { } /*---------------------------------------------------------------------------* * assignement operator(s) * *---------------------------------------------------------------------------*/ LrCamera & LrCamera::operator = (const LrCamera &source) { if (this == &source) return *this; m_m_position = source.m_m_position; m_m_vertical = source.m_m_vertical; m_m_direction = source.m_m_direction; m_m_angleX = source.m_m_angleX; m_m_angleY = source.m_m_angleY; return *this; } /*---------------------------------------------------------------------------* * comparison operator(s) * *---------------------------------------------------------------------------*/ bool operator == (const LrCamera &lhs, const LrCamera &rhs) { return (lhs.m_m_position == rhs.m_m_position) && (lhs.m_m_vertical == rhs.m_m_vertical) && (lhs.m_m_direction == rhs.m_m_direction) && (lhs.m_m_angleX == rhs.m_m_angleX) && (lhs.m_m_angleY == rhs.m_m_angleY); } bool operator != (const LrCamera &lhs, const LrCamera &rhs) { return (! (lhs == rhs)); } /*---------------------------------------------------------------------------* * accessors * *---------------------------------------------------------------------------*/ LrPoint LrCamera::getM_position() const { return m_m_position; } void LrCamera::setM_position(const LrPoint &m_position) { m_m_position = m_position; } LrVector LrCamera::getM_vertical() const { return m_m_vertical; } void LrCamera::setM_vertical(const LrVector &m_vertical) { m_m_vertical = m_vertical; } LrVector LrCamera::getM_direction() const { return m_m_direction; } void LrCamera::setM_direction(const LrVector &m_direction) { m_m_direction = m_direction; } real LrCamera::getM_angleX() const { return m_m_angleX; } void LrCamera::setM_angleX(real m_angleX) { m_m_angleX = m_angleX; } real LrCamera::getM_angleY() const { return m_m_angleY; } void LrCamera::setM_angleY(real m_angleY) { m_m_angleY = m_angleY; } /***************************************************************************** * $Log$ *****************************************************************************/
LrCamera.h 0 → 100644 +85 −0 Original line number Diff line number Diff line /***************************************************************************** * class LrCamera (specification) * * * * Ray Tracing Project - Master 1 (2007/2008) * * UFR Sciences Fondamentales et Appliques de l'Universit de Poitiers * * author : J.Francois, M.Nauge, A.Richard, H.Souchaud, E.Vershuur * * creation : Friday, March 7 2008 (3/7/2008) * *---------------------------------------------------------------------------* * $Id$ *---------------------------------------------------------------------------* * Log : see end of file * *****************************************************************************/ #ifndef LRCAMERA_H #define LRCAMERA_H #include "LrPoint.h" #include "LrVector.h" class LrCamera { public: // constructors and destructor // *************************** LrCamera(); LrCamera(const LrCamera &source); LrCamera * clone() const; LrCamera(const LrPoint &m_position, const LrVector &m_vertical, const LrVector &m_direction, real m_angleX, real m_angleY); virtual ~LrCamera(); // assignement operator(s) // *********************** LrCamera & operator = (const LrCamera &source); // comparison operator(s) // ********************** friend bool operator == (const LrCamera &lhs, const LrCamera &rhs); friend bool operator != (const LrCamera &lhs, const LrCamera &rhs); // accessors // ********* LrPoint getM_position() const; void setM_position(const LrPoint &m_position); LrVector getM_vertical() const; void setM_vertical(const LrVector &m_vertical); LrVector getM_direction() const; void setM_direction(const LrVector &m_direction); real getM_angleX() const; void setM_angleX(real m_angleX); real getM_angleY() const; void setM_angleY(real m_angleY); // // ***************** LrRay getRay(real u, real v) const; private: // data // **** LrPoint m_m_position; LrVector m_m_vertical; LrVector m_m_direction; real m_m_angleX; real m_m_angleY; }; #endif /***************************************************************************** * $Log$ *****************************************************************************/