source: trunk/packages/vizservers/nanovis/Grid.h @ 3613

Last change on this file since 3613 was 3613, checked in by ldelgass, 7 years ago

Include namespace in header guard defines

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * Copyright (c) 2004-2013  HUBzero Foundation, LLC
4 *
5 */
6#ifndef NV_GRID_H
7#define NV_GRID_H
8
9#include <util/Fonts.h>
10
11#include "Axis.h"
12#include "AxisRange.h"
13
14namespace nv {
15
16class RGBA
17{
18public:
19    RGBA(float r, float g, float b, float a) :
20        red(r),
21        green(g),
22        blue(b),
23        alpha(a)
24    {}
25
26    void set(float r, float g, float b, float a)
27    {
28        red   = r;
29        green = g;
30        blue  = b;
31        alpha = a;
32    }
33
34    float red, green, blue, alpha;
35};
36
37class Grid
38{
39public:
40    Grid();
41    virtual ~Grid();
42
43    bool isVisible() const
44    {
45        return _visible;
46    }
47
48    void setVisible(bool visible)
49    {
50        _visible = visible;
51    }
52
53    void setAxisColor(float r, float g, float b, float a)
54    {
55        _axisColor.set(r, g, b, a);
56    }
57
58    void setLineColor(float r, float g, float b, float a)
59    {
60        _majorColor.set(r, g, b, a);
61        _minorColor = _majorColor;
62    }
63
64    void render();
65
66    void setFont(nv::util::Fonts *font);
67
68    Axis xAxis;
69    Axis yAxis;
70    Axis zAxis;
71
72private:
73    RGBA _axisColor, _majorColor, _minorColor;
74    nv::util::Fonts *_font;
75    bool _visible;
76};
77
78}
79
80#endif
Note: See TracBrowser for help on using the repository browser.