Changeset 20206
- Timestamp:
- 05/11/07 15:19:07 (2 years ago)
- Files:
-
- juggler/branches/2.2/modules/vrjuggler/ChangeLog (modified) (1 diff)
- juggler/branches/2.2/modules/vrjuggler/VERSION (modified) (1 diff)
- juggler/branches/2.2/modules/vrjuggler/vrj/Display/Frustum.cpp (modified) (3 diffs)
- juggler/branches/2.2/modules/vrjuggler/vrj/Display/Frustum.h (modified) (4 diffs)
- juggler/branches/2.2/modules/vrjuggler/vrj/Draw/Direct3D/D3dWindow.cpp (modified) (1 diff)
- juggler/branches/2.2/modules/vrjuggler/vrj/Draw/OGL/GlWindow.cpp (modified) (1 diff)
- juggler/branches/2.2/modules/vrjuggler/vrj/Draw/Pf/PfDrawManager.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
juggler/branches/2.2/modules/vrjuggler/ChangeLog
r20134 r20206 1 1 DATE AUTHOR CHANGE 2 2 ----------- ----------- ------------------------------------------------------- 3 May-11-2007 patrick Made the data member of vrj::Frustum private and added 4 vrj::Frustum::getValues() as the accessor for that 5 data. 6 NEW VERSION: 2.1.27 3 7 May-04-2007 patrick Improved OSG scene view lighting for subclasses of 4 8 vrj::OsgApp. Submitted by Doug McCorkle. juggler/branches/2.2/modules/vrjuggler/VERSION
r20134 r20206 1 2.1.27-0 @05/11/2007 20:20:00 UTC@ 1 2 2.1.26-0 @05/04/2007 16:15:00 UTC@ 2 3 2.1.25-0 @05/04/2007 16:10:00 UTC@ juggler/branches/2.2/modules/vrjuggler/vrj/Display/Frustum.cpp
r20091 r20206 33 33 34 34 Frustum::Frustum() 35 : mFrust(6, 0.0f) 35 36 { 36 frust[0] = frust[1] = frust[2] = 0.0f; 37 frust[3] = frust[4] = frust[5] = 0.0f; 37 /* Do nothing. */ ; 38 38 } 39 39 … … 42 42 const float rightVal) 43 43 { 44 frust[VJ_BOTTOM] = bottomVal;45 frust[VJ_LEFT] = leftVal;46 frust[VJ_TOP] = topVal;47 frust[VJ_RIGHT] = rightVal;44 mFrust[VJ_BOTTOM] = bottomVal; 45 mFrust[VJ_LEFT] = leftVal; 46 mFrust[VJ_TOP] = topVal; 47 mFrust[VJ_RIGHT] = rightVal; 48 48 } 49 49 … … 52 52 const float nearVal, const float farVal) 53 53 { 54 frust[VJ_LEFT] = leftVal;55 frust[VJ_RIGHT] = rightVal;56 frust[VJ_BOTTOM] = bottomVal;57 frust[VJ_TOP] = topVal;58 frust[VJ_NEAR] = nearVal;59 frust[VJ_FAR] = farVal;54 mFrust[VJ_LEFT] = leftVal; 55 mFrust[VJ_RIGHT] = rightVal; 56 mFrust[VJ_BOTTOM] = bottomVal; 57 mFrust[VJ_TOP] = topVal; 58 mFrust[VJ_NEAR] = nearVal; 59 mFrust[VJ_FAR] = farVal; 60 60 } 61 61 juggler/branches/2.2/modules/vrjuggler/vrj/Display/Frustum.h
r20093 r20206 31 31 32 32 #include <iostream> 33 #include <vector> 33 34 34 35 … … 47 48 enum entry 48 49 { 49 VJ_LEFT = 0, 50 VJ_RIGHT = 1, 51 VJ_BOTTOM, 52 VJ_TOP, 53 VJ_NEAR, 54 VJ_FAR 50 VJ_LEFT = 0, /**< Left (X minium) */ 51 VJ_RIGHT = 1, /**< Right (X maximum) */ 52 VJ_BOTTOM, /**< Bottom (Y minimum) */ 53 VJ_TOP, /**< Top (Y maximum) */ 54 VJ_NEAR, /**< Near (Z minimum) */ 55 VJ_FAR /**< Far (Z maximum) */ 55 56 }; 56 57 … … 62 63 void setNearFar(const float nearVal, const float farVal) 63 64 { 64 frust[VJ_NEAR] = nearVal;65 frust[VJ_FAR] = farVal;65 mFrust[VJ_NEAR] = nearVal; 66 mFrust[VJ_FAR] = farVal; 66 67 } 67 68 … … 71 72 float& operator[](const unsigned int elt) 72 73 { 73 return frust[elt];74 return mFrust[elt]; 74 75 } 75 76 76 77 const float& operator[](const unsigned int elt) const 77 78 { 78 return frust[elt];79 return mFrust[elt]; 79 80 } 80 81 81 public: 82 float frust[6]; /**< Left, Right, Bottom, Top, Near, Far */ 82 /** 83 * Returns the values for this frustum object. The values can (and should) 84 * be accessed using the identifiers defined in vrj::Frustum::entry. 85 * 86 * @since 2.1.27 87 */ 88 const std::vector<float>& getValues() const 89 { 90 return mFrust; 91 } 92 93 private: 94 std::vector<float> mFrust; /**< Left, Right, Bottom, Top, Near, Far */ 83 95 }; 84 96 85 // ---- FRIEND FUNCTIONS ---- //86 97 std::ostream& operator<<(std::ostream& out, Frustum& _frust); 87 98 juggler/branches/2.2/modules/vrjuggler/vrj/Draw/Direct3D/D3dWindow.cpp
r19881 r20206 112 112 } 113 113 114 const float* frust = proj->getFrustum().frust; 115 116 vprDEBUG(vrjDBG_DRAW_MGR, vprDBG_HEX_LVL) << "---- Frustum ----\n" 117 << proj->getFrustum().frust << std::endl 118 << vprDEBUG_FLUSH; 114 const std::vector<float>& frust = proj->getFrustum().getValues(); 119 115 120 116 D3DXMATRIX proj_matrix; juggler/branches/2.2/modules/vrjuggler/vrj/Draw/OGL/GlWindow.cpp
r20097 r20206 238 238 } 239 239 240 const float* frust = proj->getFrustum().frust;241 242 vprDEBUG(vrjDBG_DRAW_MGR, vprDBG_HEX_LVL) << "---- Frustum ----\n"243 << proj->getFrustum().frust << std::endl244 << vprDEBUG_FLUSH;245 246 240 // --- Set up the projection --- // 247 241 glMatrixMode(GL_PROJECTION); 248 242 { 243 const std::vector<float>& frust = proj->getFrustum().getValues(); 244 249 245 glLoadIdentity(); // Load identity matrix 250 246 glFrustum(frust[Frustum::VJ_LEFT],frust[Frustum::VJ_RIGHT], juggler/branches/2.2/modules/vrjuggler/vrj/Draw/Pf/PfDrawManager.cpp
r20085 r20206 1354 1354 { 1355 1355 */ 1356 vrj::Frustumfrust(proj->getFrustum());1356 const vrj::Frustum& frust(proj->getFrustum()); 1357 1357 chan->setAutoAspect(PFFRUST_CALC_NONE); // No auto aspect 1358 1358 chan->setNearFar(frust[Frustum::VJ_NEAR], frust[Frustum::VJ_FAR]);
