Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

VrmlFrustum.h

00001 //
00002 // OpenVRML
00003 //
00004 // Copyright (C) 2000  Christopher K. St. John
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License, or (at your option) any later version.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 //
00020 
00021 #ifndef VRMLFRUSTUM_H
00022 #define VRMLFRUSTUM_H
00023 
00024 #include "common.h"
00025 
00026 namespace OpenVRML {
00027 
00028     class OPENVRML_SCOPE VrmlFrustum {
00029     public:
00030         float fovy;
00031         float fovx;
00032         double z_near;
00033         double z_far;
00034         float left_plane[4];
00035         float right_plane[4];
00036         float top_plane[4];
00037         float bot_plane[4];
00038 
00039         VrmlFrustum();
00040         VrmlFrustum(float afovy, float aaspect, double anear, double afar);
00041 
00042     private:
00043         void update();
00044     };
00045 }
00046 
00047 #endif // VRMLFRUSTUM_H