source: trunk/packages/vizservers/nanovis/PointSet.h @ 3492

Last change on this file since 3492 was 3492, checked in by ldelgass, 6 years ago

Fix camera reset for nanovis. Includes refactoring of vector/matrix classes
in nanovis to consolidate into vrmath library. Also add preliminary canonical
view control to clients for testing.

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#ifndef POINT_SET_H
3#define POINT_SET_H
4
5#include <vrmath/Vector3f.h>
6#include <vrmath/Vector4f.h>
7
8#include "PCASplit.h"
9
10class PointSet
11{
12public :
13    PointSet() :
14        _sortLevel(4),
15        _cluster(0),
16        _max(1.0f),
17        _min(0.0f), 
18        _visible(false)
19    {
20    }
21
22    ~PointSet() {
23        if (_cluster) {
24            delete _cluster;
25        }
26    }
27
28    void initialize(vrmath::Vector4f *values, const unsigned int count, 
29                    const vrmath::Vector3f& scale, const vrmath::Vector3f& origin, 
30                    float min, float max);
31
32    void updateColor(float *color, int count);
33
34    bool isVisible() const
35    {
36        return _visible;
37    }
38
39    void setVisible(bool visible)
40    {
41        _visible = visible;
42    }
43
44    unsigned int getSortLevel() const
45    {
46        return _sortLevel;
47    }
48
49    PCA::ClusterAccel* getCluster()
50    {
51        return _cluster;
52    }
53
54    vrmath::Vector3f& getScale()
55    {
56        return _scale;
57    }
58
59    const vrmath::Vector3f& getScale() const
60    {
61        return _scale;
62    }
63
64    vrmath::Vector3f& getOrigin()
65    {
66        return _origin;
67    }
68
69    const vrmath::Vector3f& getOrigin() const
70    {
71        return _origin;
72    }
73
74private:
75    unsigned int _sortLevel;
76    PCA::ClusterAccel *_cluster;
77
78    vrmath::Vector3f _scale;
79    vrmath::Vector3f _origin;
80    float _max;
81    float _min;
82    bool _visible;
83};
84
85#endif
Note: See TracBrowser for help on using the repository browser.