Subversion Repositories gelsvn

Rev

Rev 667 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 667 Rev 676
Line 78... Line 78...
78
                    }
78
                    }
79
                }
79
                }
80
            }
80
            }
81
            if(closest != InvalidVertexID) {
81
            if(closest != InvalidVertexID) {
82
                vertex_selection.resize(mani.allocated_vertices(),0);
82
                vertex_selection.resize(mani.allocated_vertices(),0);
83
                vertex_selection[closest] = 1;
83
                vertex_selection[closest] = !vertex_selection[closest];
84
                active_selection = true;
84
                active_selection = true;
85
                post_create_display_list();
85
                post_create_display_list();
86
                return true;
86
                return true;
87
            }
87
            }
88
        }
88
        }
Line 180... Line 180...
180
            double max_G = 0;
180
            double max_G = 0;
181
            double mean = 0;
181
            double mean = 0;
182
            
182
            
183
            for(VertexIDIterator v = mani.vertices_begin(); v != mani.vertices_end(); ++v){
183
            for(VertexIDIterator v = mani.vertices_begin(); v != mani.vertices_end(); ++v){
184
                max_G = max(abs(scalars[*v]), max_G);
184
                max_G = max(abs(scalars[*v]), max_G);
185
                mean += scalars[*v];
185
                mean +=scalars[*v];
186
            }
186
            }
187
            
187
            
-
 
188
            cout << "avg mean curvature " << mean/mani.no_vertices();
-
 
189
            
188
            renderer = new ScalarFieldRenderer();
190
            renderer = new ScalarFieldRenderer();
189
            dynamic_cast<ScalarFieldRenderer*>(renderer)->compile_display_list(mani, smooth, scalars, max_G, gamma);
191
            dynamic_cast<ScalarFieldRenderer*>(renderer)->compile_display_list(mani, smooth, scalars, max_G, gamma);
190
        }
192
        }
191
        else if(short_name == "amb"){
193
        else if(short_name == "amb"){
192
            static Console::variable<int> smoothing(2);
194
            static Console::variable<int> smoothing(2);
Line 203... Line 205...
203
            dynamic_cast<AmbientOcclusionRenderer*>(renderer)->compile_display_list(mani, scalars, max_G);
205
            dynamic_cast<AmbientOcclusionRenderer*>(renderer)->compile_display_list(mani, scalars, max_G);
204
            
206
            
205
        }
207
        }
206
        else if(short_name == "deb")
208
        else if(short_name == "deb")
207
        {
209
        {
-
 
210
            static Console::variable<float> debug_renderer_ball_radius(0.001);
-
 
211
            debug_renderer_ball_radius.reg(cs, "display.debug_renderer.radius","");
208
            renderer = new DebugRenderer;
212
            renderer = new DebugRenderer;
-
 
213
            dynamic_cast<DebugRenderer*>(renderer)->compile_display_list(mani, smooth, debug_renderer_ball_radius);
-
 
214
        }
-
 
215
        else if(short_name == "che")
-
 
216
        {
-
 
217
            renderer = new CheckerBoardRenderer;
209
            renderer->compile_display_list(mani, smooth);
218
            renderer->compile_display_list(mani, smooth);
210
        }
219
        }
-
 
220
        else if(short_name == "sca")
-
 
221
        {
-
 
222
            double max_G = abs(scalar_field[*mani.vertices_begin()]);
-
 
223
            for(VertexIDIterator v = mani.vertices_begin(); v != mani.vertices_end(); ++v)
-
 
224
                max_G = max(abs(scalar_field[*v]), max_G);
-
 
225
            renderer = new ScalarFieldRenderer();
-
 
226
            dynamic_cast<ScalarFieldRenderer*>(renderer)->compile_display_list(mani, smooth,
-
 
227
                                                                               scalar_field, max_G, gamma);
-
 
228
        }
-
 
229
        else if(short_name == "lin")
-
 
230
        {
-
 
231
            renderer = new LineFieldRenderer();
-
 
232
            dynamic_cast<LineFieldRenderer*>(renderer)->compile_display_list(mani, get_line_field_attrib_vector());
-
 
233
        }
211
        else {
234
        else {
212
            renderer = new NormalRenderer();
235
            renderer = new NormalRenderer();
213
            renderer->compile_display_list(mani, smooth);
236
            renderer->compile_display_list(mani, smooth);
214
        }
237
        }
215
 
238
 
216
    
239
    
217
    }
240
    }
218
    
241
    
219
    void VisObj::draw_selection()
242
    void VisObj::draw_selection()
220
    {
243
    {
221
        Vec3d c;
244
//        Vec3d c;
222
        float r;
245
//        float r;
223
        bsphere(mani, c, r);
246
//        bsphere(mani, c, r);
-
 
247
        float r = view_ctrl.get_eye_dist();
224
        r *= 0.003;
248
        r *= 0.003;
225
        glDisable(GL_LIGHTING);
249
        glDisable(GL_LIGHTING);
226
        for(auto vid : mani.vertices())
250
        for(auto vid : mani.vertices())
227
        {
251
        {
228
            Vec3d p = mani.pos(vid);
252
            Vec3d p = mani.pos(vid);