source: trunk/vizservers/nanovis/ContourLineFilter.h @ 916

Last change on this file since 916 was 776, checked in by vrinside, 17 years ago

Add 3D surface plot and grid rendering

File size: 1.2 KB
Line 
1#ifndef _CONTOURFILTER_H_
2#define _CONTOURFILTER_H_
3
4#include "Vector3.h"
5#include "Vector4.h"
6#include "TypeDefs.h"
7#include <R2/graphics/R2Geometry.h>
8#include <list>
9
10class ContourLineFilter {
11public :
12        class ContourLine {
13        public :
14                float _value;
15                std::list<Vector3> _points;
16        public :
17                ContourLine(float value);
18
19        private :
20                bool isValueWithIn(float Val1, float Val2);
21                void getContourPoint(int vertexIndex1, int vertexIndex2, Vector3* vertices, int width);
22                void getContourPoint(int vertexIndex1, int vertexIndex2, Vector4* vertices, int width);
23        public : 
24                /**
25                 * @brief
26                 * @ret Returns the number of points
27                 */
28                int createLine(int width, int height, Vector3* vertices);
29                int createLine(int width, int height, Vector4* vertices);
30        };
31
32        typedef std::list<ContourLine*> ContourLineList;
33
34private :
35        ContourLineList _lines;
36        Vector3Array* _colorMap;
37public :
38        ContourLineFilter();
39
40private :
41        void clear();
42       
43public :
44        R2Geometry* create(float min, float max, int linecount, Vector3* vertices, int width, int height);
45        R2Geometry* create(float min, float max, int linecount, Vector4* vertices, int width, int height);
46        void setColorMap(Vector3Array* colorMap);
47};
48
49#endif
Note: See TracBrowser for help on using the repository browser.