| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #include "camera.h"
- #include "../../core.h"
- using namespace wp::core::scenes;
- camera::camera (irr::core::vector3df center, irr::core::vector3df eye, irr::core::vector3df up) :
- m_center (center),
- m_eye (eye),
- m_up (up)
- {
- }
- irr::core::vector3df* camera::getCenter ()
- {
- return &this->m_center;
- }
- irr::core::vector3df* camera::getEye ()
- {
- return &this->m_eye;
- }
- irr::core::vector3df* camera::getUp ()
- {
- return &this->m_up;
- }
- camera* camera::fromJSON (json data)
- {
- json::const_iterator center_it = data.find ("center");
- json::const_iterator eye_it = data.find ("eye");
- json::const_iterator up_it = data.find ("up");
- if (center_it == data.end ())
- {
- throw std::runtime_error ("Camera must have a center position");
- }
- if (eye_it == data.end ())
- {
- throw std::runtime_error ("Camera must have an eye position");
- }
- if (up_it == data.end ())
- {
- throw std::runtime_error ("Camera must have a up position");
- }
- return new camera (
- wp::core::ato3vf (*center_it),
- wp::core::ato3vf (*eye_it),
- wp::core::ato3vf (*up_it)
- );
- }
|