download glview3d.h
Language: C++
License: GPL
Copyright: (C) 2000-2005 Vincent LE PRINCE
LOC: 47
Project Info
Truevision
Server: SourceForge
Type: cvs
...evision\Truevision\include\
   atmosphere.h
   bicubic.h
   blob.h
   box.h
   camera.h
   cone.h
   cylinder.h
   density.h
   disc.h
   dlgutils.h
   fnintern.h
   fog.h
   function.h
   glview.h
   glview2d.h
   glview3d.h
   heightfield.h
   impsurface.h
   interface.h
   interior.h
   isosurface.h
   julia.h
   lathe.h
   lights.h
   linkobj.h
   main.h
   mapedit.h
   material.h
   matlib.h
   matlist.h
   matpov.h
   media.h
   mesh.h
   meshrotate.h
   meshscale.h
   meshtool.h
   meshtranslate.h
   obj3dcsg.h
   obj3ddef.h
   object3d.h
   objectlayer.h
   objectlist.h
   parametric.h
   plane.h
   polygon.h
   povfe.h
   povpreview.h
   povscript.h
   preferences.h
   prism.h
   proppanel.h
   pycamera.h
   pyengine.h
   pylights.h
   pyobjects.h
   pyscriptdb.h
   pyscriptobj.h
   pyutils.h
   rotation.h
   scene.h
   scriptobj.h
   slopemap.h
   sphere.h
   spheresweep.h
   spline2d.h
   spline3d.h
   superellipsoid.h
   texfinish.h
   texnormal.h
   texpigment.h
   text.h
   torus.h
   tvio.h
   tvwidgets.h
   undo.h
   utils3d.h
   vertex.h
   viewmanager.h

//*****************************************************************************************
// Truevision - a 3d modeler for povray
//
// glview3d.h
//
// Vincent LE PRINCE <vincentleprince@users.sourceforge.net>
// Copyright (C) 2000-2005 Vincent LE PRINCE
// This file is part of the TRUEVISION Package

//   This program is free software; you can redistribute it and/or modify
//   it under the terms of the GNU General Public License as published by
//   the Free Software Foundation; either version 2 of the License, or
//   (at your option) any later version.
//
//   This program is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with this program; if not, write to the Free Software
//   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */ 
//*******************************************************************************************
#ifndef GLVIEW3D_H
#define GLVIEW3D_H
using namespace std;
#include "glview.h"
#include "dlgutils.h"

class glview3d : public glview {
	// Callback
	#define SENDER ((glview3d*)obj)	
	friend gint sign_toggle_3Dlabels( GtkWidget *wid, gpointer obj ) { SENDER->label->toggle(); return TRUE; }
	friend gint sign_toggle_grids( GtkWidget *wid, gpointer obj ) { SENDER->toggle_grids(); return TRUE; }
	#undef SENDER

	protected:		
		TvWidget_float *zoom;
		
		// Menus
		void add_menu();
		GtkWidget *menu_labels;
		GtkWidget *menu_grids[3];

		// Axis, Labels, Grids
		GlDisplayList label_list;
		void draw_label();
		TvWidget_bool *grids[3];

	    // Fonctions
	    void mouse_moved( GdkEventMotion *ev );
		virtual void mouse_scrolled( GdkEventScroll *ev );
	    void toggle_grids();
	    void key_press( GdkEventKey *ev );

	public:
		glview3d( app_objs *appref,  GtkWidget *box, GtkWidget *f1,  GtkWidget *f2);
		void init_3dview();
		~glview3d();
		virtual void refresh();
		void pref_changed();
		
		virtual void save( ofstream & file );
		virtual bool load( ifstream & file, char *tag );
		void clear( ViewType cltype );
		void display_objects();
		virtual void set_viewport();
		virtual void reset_home();
};


class glcamview : public glview3d {
    private:

    public:
	glcamview( app_objs *appref, GtkWidget *box, GtkWidget *f1,  GtkWidget *f2);
	~glcamview() {}
		
	void refresh();		
	void set_viewport();
	void save( ofstream & file );
	bool load( ifstream & file, char *tag );
	void reset_home() {};
};

#endif

About Koders | Resources | Downloads | Support | Black Duck | Submit Project | Terms of Service | DMCA | Privacy Policy | Site Map| Contact Us