-
Notifications
You must be signed in to change notification settings - Fork 1
/
ControlSpace.h
55 lines (35 loc) · 1022 Bytes
/
ControlSpace.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef _CONTROL_H
#define _CONTROL_H
//#include "ISMesh.H"
#include <vrg3d/VRG3D.h>
//#include "Torus.H"
//#include "Hypercube.H"
//#include "Hopf.H"
#include "Tetrahedron.h"
class ControlSpace {
private:
Vector3 global_pos;
double _a,_b,_c; // 4D co-ordinates of the control space; internal
// Wpt line_intersect(Wpt start, Wpt end);
// Torus *_torus;
// Hypercube *_hypercube;
// Hopf *_hopf;
Tetrahedron *_tetra;
bool show_control_space;
public:
// ControlSpace(Torus *t, Hypercube *h, Hopf* hp);
ControlSpace();
~ControlSpace();
// get the 4d co-ordinates from the control space
// pass by reference
void get_abc(double& a, double& b, double& c);
// wand will provide a World space line segment
// use this to set the internal a,b,c values
void do_intersection(Vector3 start, Vector3 end);
// draw the control space tetrahedron
// AND a sphere corresponding to a,b,c
void draw();
bool getVisibility();
void toggle_visibility();
};
#endif