Subversion Repositories gelsvn

Rev

Rev 656 | Rev 662 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 656 Rev 657
Line 25... Line 25...
25
 
25
 
26
namespace GLGraphics {
26
namespace GLGraphics {
27
 
27
 
28
class VisObj
28
class VisObj
29
{
29
{
30
    std::string file;
30
    std::string file = "";
31
    GLGraphics::GLViewController view_ctrl;
31
    GLGraphics::GLViewController view_ctrl;
32
    bool create_display_list;
32
    bool create_display_list = true;
33
    
33
    
34
    HMesh::Manifold mani;
34
    HMesh::Manifold mani;
35
    HMesh::Manifold old_mani;
35
    HMesh::Manifold old_mani;
-
 
36
    
-
 
37
    GLGraphics::ManifoldRenderer* renderer = nullptr;
-
 
38
    
-
 
39
    bool active_selection = false;
-
 
40
    HMesh::VertexAttributeVector<int> vertex_selection;
-
 
41
    
36
    HMesh::Harmonics* harm;
42
    HMesh::Harmonics* harm;
37
    GLGraphics::ManifoldRenderer* renderer;
-
 
38
    CGLA::Vec3d bsphere_center;
43
    CGLA::Vec3d bsphere_center;
39
    float bsphere_radius;
44
    float bsphere_radius;
-
 
45
    
-
 
46
    void produce_renderer(const std::string& display_method , Console& cs, bool smooth, float gamma);
-
 
47
    void draw_selection();
40
public:
48
public:
41
    
49
    
42
    VisObj()
50
    VisObj(): view_ctrl(WINX,WINY, CGLA::Vec3f(0), 1.0) {}
43
    {
51
    
-
 
52
    HMesh::VertexAttributeVector<int>& get_vertex_selection() {
44
        file = "";
53
        return vertex_selection;
-
 
54
    }
45
        view_ctrl = GLGraphics::GLViewController(WINX,WINY, CGLA::Vec3f(0), 1.0);
55
    bool select_vertex(const CGLA::Vec2i& pos);
46
        create_display_list =true;
56
    void clear_selection() {
47
        renderer = nullptr;
57
        for(auto vid : mani.vertices()) vertex_selection[vid] = 0;
48
        
58
        active_selection = false;
49
    }
59
    }
50
    
60
    
51
    const std::string& file_name() const {return file;}
61
    const std::string& file_name() const {return file;}
52
    
62
    
53
    float get_bsphere_radius() const { return bsphere_radius;}
63
    float get_bsphere_radius() const { return bsphere_radius;}