Rev 649 | Rev 657 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
* VisObj.h
* GEL
*
* Created by J. Andreas Bærentzen on 20/09/08.
* Copyright 2008 __MyCompanyName__. All rights reserved.
*
*/
#ifndef __MESHEDIT_VISOBJ_H__
#define __MESHEDIT_VISOBJ_H__
#include <string>
#include "../GL/glew.h"
#include "../HMesh/Manifold.h"
#include "../CGLA/Vec3d.h"
#include "../GLGraphics/draw.h"
#include "../GLGraphics/Console.h"
#include "../GLGraphics/GLViewController.h"
#include "../GLGraphics/ManifoldRenderer.h"
#include "../HMesh/harmonics.h"
extern int WINX;
extern int WINY;
namespace GLGraphics {
class VisObj
{
std::string file;
GLGraphics::GLViewController view_ctrl;
bool create_display_list;
HMesh::Manifold mani;
HMesh::Manifold old_mani;
HMesh::Harmonics* harm;
GLGraphics::ManifoldRenderer* renderer;
CGLA::Vec3d bsphere_center;
float bsphere_radius;
public:
VisObj()
{
file = "";
view_ctrl = GLGraphics::GLViewController(WINX,WINY, CGLA::Vec3f(0), 1.0);
create_display_list =true;
renderer = nullptr;
}
const std::string& file_name() const {return file;}
float get_bsphere_radius() const { return bsphere_radius;}
HMesh::Manifold& mesh() {return mani;}
void save_old() {old_mani = mani;}
void restore_old() {mani = old_mani;}
GLGraphics::GLViewController& view_control() {return view_ctrl;}
void refit();
bool reload(std::string _file);
bool add_mesh(std::string _file);
void display(const std::string& display_method , GLGraphics::Console& cs, bool smooth, float gamma);
void post_create_display_list()
{
create_display_list = true;
}
void harmonics_analyze() {
harm = new HMesh::Harmonics(mani);
}
};
}
#endif