source: nanovis/trunk/OrientationIndicator.h @ 4920

Last change on this file since 4920 was 3630, checked in by ldelgass, 11 years ago

Nanovis refactoring to fix problems with scaling and multiple results.
Do rendering in world space to properly place and scale multiple data sets.
Also fix flows to reduce resets of animations. More work toward removing
Cg dependency. Fix panning to convert viewport coords to world coords.

  • Property svn:eol-style set to native
File size: 1008 bytes
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * Copyright (c) 2004-2013  HUBzero Foundation, LLC
4 *
5 * Author: Leif Delgass <ldelgass@purdue.edu>
6 */
7#ifndef NV_ORIENTATION_INDICATOR_H
8#define NV_ORIENTATION_INDICATOR_H
9
10#include <vrmath/Vector3f.h>
11
12namespace nv {
13
14class OrientationIndicator
15{
16public:
17    enum Representation {
18        LINES,
19        ARROWS
20    };
21
22    OrientationIndicator();
23    virtual ~OrientationIndicator();
24
25    void setRepresentation(Representation rep);
26
27    void render();
28
29    bool isVisible() const
30    {
31        return _visible;
32    }
33
34    void setVisible(bool state)
35    {
36        _visible = state;
37    }
38
39    void setPosition(const vrmath::Vector3f& pos)
40    {
41        _position = pos;
42    }
43
44    void setScale(const vrmath::Vector3f& scale)
45    {
46        _scale = scale;
47    }
48
49private:
50    Representation _rep;
51    bool _visible;
52    float _lineWidth;
53    void *_quadric;
54
55    vrmath::Vector3f _position;
56    vrmath::Vector3f _scale;
57};
58
59}
60
61#endif
Note: See TracBrowser for help on using the repository browser.