source: trunk/gui/vizservers/nanovis/Plane.h @ 425

Last change on this file since 425 was 415, checked in by qiaow, 18 years ago

Now can load arbitary number of volumes (16 per application due to hardware limitation). The VolumeRenderer? render them with correct slice order!!

File size: 1.1 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 * Plane.h: plane class
4 *
5 * ======================================================================
6 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
7 *           Purdue Rendering and Perceptualization Lab (PURPL)
8 *
9 *  Copyright (c) 2004-2006  Purdue Research Foundation
10 *
11 *  See the file "license.terms" for information on usage and
12 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13 * ======================================================================
14 */
15#ifndef _PLANE_H_
16#define _PLANE_H_
17
18#include "Vector3.h"
19#include "Mat4x4.h"
20
21class Plane {
22public:
23    float a, b, c, d;
24       
25    Plane(float a, float b, float c, float d);
26    Plane(float coeffs[4]);
27    Plane();
28   
29    void get_normal(Vector3 &normal);
30    void get_point(Vector3 &point);
31    Vector4 get_coeffs();
32    void set_coeffs(float _a, float _b, float _c, float _d);
33    void transform(Mat4x4 mat);
34    void transform(float *m);
35    bool retains(Vector3 point);
36    //bool clips(float point[3]) const { return !retains(point); }
37
38};
39
40
41#endif
Note: See TracBrowser for help on using the repository browser.