source: nanovis/branches/1.2/OrientationIndicator.h @ 6632

Last change on this file since 6632 was 5516, checked in by ldelgass, 9 years ago

Merge trunk version of OrientationIndicator? (scaling/translation)

  • 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.