source: nanovis/trunk/PointSetRenderer.h @ 4596

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

Include namespace in header guard defines

  • Property svn:eol-style set to native
File size: 861 bytes
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_POINT_SET_RENDERER_H
7#define NV_POINT_SET_RENDERER_H
8
9#include <vrmath/Vector3f.h>
10#include <vrmath/Matrix4x4d.h>
11
12#include "PCASplit.h"
13#include "BucketSort.h"
14#include "PointShader.h"
15#include "Texture2D.h"
16
17namespace nv {
18
19class PointSetRenderer
20{
21public:
22    PointSetRenderer();
23    ~PointSetRenderer();
24
25    void render(PCA::ClusterAccel *cluster, const vrmath::Matrix4x4d& mat,
26                int sortLevel, const vrmath::Vector3f& scale, const vrmath::Vector3f& origin);
27
28private:
29    void renderPoints(PCA::Point *points, int length);
30
31    void renderCluster(PCA::ClusterList **bucket, int size, int level);
32
33    PCA::BucketSort *_bucketSort;
34    PointShader *_shader;
35    Texture2D *_pointTexture;
36};
37
38}
39
40#endif
Note: See TracBrowser for help on using the repository browser.