00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "GLClipPlane.h"
00021 #include <iostream>
00022 #include <GL/glew.h>
00023
00024 using namespace std;
00025 using namespace gutz;
00026
00027 GLClipPlane::GLClipPlane()
00028 {
00029 }
00030
00031 GLClipPlane::GLClipPlane(gutz::planef p)
00032 {
00033 GLdouble eqn[4] = {p.n.x, p.n.y, p.n.z, -p.n.dot(p.p)};
00034 cout<<"Orig clip eqn is "<<p.n.x<<" "<<p.n.y<<" "<<p.n.z<<" "<<-p.n.dot(p.p)<<endl;
00035 glClipPlane(GL_CLIP_PLANE5,eqn);
00036 }
00037
00038 GLClipPlane::GLClipPlane(FrameWidget *fw)
00039 {
00040 gutz::planef p = fw->getPlane();
00041 GLdouble eqn[4] = {p.n.x, p.n.y, p.n.z, -p.n.dot(p.p)};
00042 cout<<"Orig clip eqn is "<<p.n.x<<" "<<p.n.y<<" "<<p.n.z<<" "<<-p.n.dot(p.p)<<endl;
00043 glClipPlane(GL_CLIP_PLANE5,eqn);
00044
00045 gutz::connect(fw->planeChanged, this, &GLClipPlane::updateClipPlane);
00046 }
00047
00048 GLClipPlane::~GLClipPlane()
00049 {
00050 }
00051
00052
00053
00054
00055 void GLClipPlane::updateClipPlane(gutz::planef p)
00056 {
00057 cout<<"Hey, we need to update our clipping plane"<<endl;
00058
00059
00060 cout<<"New clip eqn is "<<p.n.x<<" "<<p.n.y<<" "<<p.n.z<<" "<<-p.n.dot(p.p)<<endl;
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 GLdouble eqn[4] = {p.n.x, p.n.y, p.n.z, -p.n.dot(p.p)};
00072
00073 glClipPlane(GL_CLIP_PLANE5,eqn);
00074
00075 }