IK Solver: remove unused and outdated test code.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Fri, 11 Dec 2015 00:42:09 +0000 (01:42 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Fri, 11 Dec 2015 00:42:41 +0000 (01:42 +0100)
intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp [deleted file]
intern/iksolver/test/ik_glut_test/common/GlutDrawer.h [deleted file]
intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp [deleted file]
intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.h [deleted file]
intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp [deleted file]
intern/iksolver/test/ik_glut_test/common/GlutMouseManager.h [deleted file]
intern/iksolver/test/ik_glut_test/intern/ChainDrawer.h [deleted file]
intern/iksolver/test/ik_glut_test/intern/MyGlutKeyHandler.h [deleted file]
intern/iksolver/test/ik_glut_test/intern/MyGlutMouseHandler.h [deleted file]
intern/iksolver/test/ik_glut_test/intern/main.cpp [deleted file]

diff --git a/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp b/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp
deleted file mode 100644 (file)
index b138dd1..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include "GlutDrawer.h"
-
-#include "MT_assert.h"
-
-MEM_SmartPtr<GlutDrawManager> GlutDrawManager::m_s_instance = MEM_SmartPtr<GlutDrawManager>();
-
-       GlutDrawManager *
-GlutDrawManager::
-Instance(
-){
-       if (m_s_instance == NULL) {
-               m_s_instance = new GlutDrawManager();
-       }
-
-       return m_s_instance;
-}
-
-
-// this is the function you should pass to glut
-
-       void
-GlutDrawManager::
-Draw(
-){
-       GlutDrawManager *manager = GlutDrawManager::Instance();
-
-       if (manager->m_drawer != NULL) {
-               manager->m_drawer->Draw();
-       }
-}
-
-       void
-GlutDrawManager::
-InstallDrawer(
-       GlutDrawer * drawer
-){
-
-       MT_assert(m_drawer == NULL);
-       m_drawer = drawer;
-}
-
-       void
-GlutDrawManager::
-ReleaseDrawer(
-){
-       m_drawer = NULL;
-}
-
-
-GlutDrawManager::
-~GlutDrawManager(
-){
-
-       delete(m_drawer);
-}
-
-
-
-
-
-
-
-
-
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutDrawer.h b/intern/iksolver/test/ik_glut_test/common/GlutDrawer.h
deleted file mode 100644 (file)
index 05d2424..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __GLUTDRAWER_H__
-#define __GLUTDRAWER_H__
-
-#include "MEM_NonCopyable.h"
-#include "MEM_SmartPtr.h"
-
-// So pissed off with Glut callback stuff
-// that is impossible to call objects unless they are global
-
-// inherit from GlutDrawer and installl the drawer in the singleton
-// class GlutDrawManager.
-
-class GlutDrawer {
-public :
-
-       virtual 
-               void
-       Draw(
-       )= 0;
-
-       virtual 
-       ~GlutDrawer(
-       ){};            
-};
-
-class GlutDrawManager : public MEM_NonCopyable{
-
-public :
-
-       static
-               GlutDrawManager *
-       Instance(
-       );
-
-       // this is the function you should pass to glut
-
-       static
-               void
-       Draw(
-       );
-
-               void
-       InstallDrawer(
-               GlutDrawer *
-       );
-
-               void
-       ReleaseDrawer(
-       );
-
-       ~GlutDrawManager(
-       );
-
-private :
-
-       GlutDrawManager (
-       ) :
-               m_drawer (0)
-       {
-       };
-       
-       GlutDrawer * m_drawer;
-
-       static MEM_SmartPtr<GlutDrawManager> m_s_instance;
-};     
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp b/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp
deleted file mode 100644 (file)
index 0b7a16b..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include "GlutKeyboardManager.h"
-#include "MT_assert.h"
-
-MEM_SmartPtr<GlutKeyboardManager> GlutKeyboardManager::m_s_instance = MEM_SmartPtr<GlutKeyboardManager>();
-
-       GlutKeyboardManager *
-GlutKeyboardManager::
-Instance(
-){
-       if (m_s_instance == NULL) {
-               m_s_instance = new GlutKeyboardManager();
-       }
-
-       return m_s_instance;
-}
-
-
-// this is the function you should pass to glut
-
-       void
-GlutKeyboardManager::
-HandleKeyboard(
-       unsigned char key,
-       int x,
-       int y
-){
-       GlutKeyboardManager *manager = GlutKeyboardManager::Instance();
-
-       if (manager->m_handler != NULL) {
-               manager->m_handler->HandleKeyboard(key,x,y);
-       }
-}
-
-       void
-GlutKeyboardManager::
-InstallHandler(
-       GlutKeyboardHandler * handler
-){
-
-       MT_assert(m_handler == NULL);
-       m_handler = handler;
-}
-
-       void
-GlutKeyboardManager::
-ReleaseHandler(
-){
-       m_handler = NULL;
-}
-
-
-GlutKeyboardManager::
-~GlutKeyboardManager(
-){
-
-       delete(m_handler);
-}
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.h b/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.h
deleted file mode 100644 (file)
index ea39b68..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __GLUTKEYBOARDMANAGER_H__
-#define __GLUTKEYBOARDMANAGER_H__
-
-#include "MEM_NonCopyable.h"
-#include "MEM_SmartPtr.h"
-
-// So pissed off with Glut callback stuff
-// that is impossible to call objects unless they are global
-
-// inherit from GlutKeyboardHandler and installl the drawer in the singleton
-// class GlutKeyboardManager.
-
-class GlutKeyboardHandler : public MEM_NonCopyable {
-public :
-
-       virtual 
-               void
-       HandleKeyboard(
-               unsigned char key,
-               int x,
-               int y
-       )= 0;
-
-       virtual 
-       ~GlutKeyboardHandler(
-       ){};            
-};
-
-class GlutKeyboardManager : public MEM_NonCopyable{
-
-public :
-
-       static
-               GlutKeyboardManager *
-       Instance(
-       );
-
-       // this is the function you should pass to glut
-
-       static
-               void
-       HandleKeyboard(
-               unsigned char key,
-               int x,
-               int y
-       );
-
-               void
-       InstallHandler(
-               GlutKeyboardHandler *
-       );
-
-               void
-       ReleaseHandler(
-       );
-
-       ~GlutKeyboardManager(
-       );
-
-private :
-
-       GlutKeyboardManager (
-       ) :
-               m_handler (0)
-       {
-       };
-       
-       GlutKeyboardHandler * m_handler;
-
-       static MEM_SmartPtr<GlutKeyboardManager> m_s_instance;
-};     
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp b/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp
deleted file mode 100644 (file)
index c426f93..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include "GlutMouseManager.h"
-#include "MT_assert.h"
-
-MEM_SmartPtr<GlutMouseManager> GlutMouseManager::m_s_instance = MEM_SmartPtr<GlutMouseManager>();
-
-
-       GlutMouseManager *
-GlutMouseManager::
-Instance(
-){
-       if (m_s_instance == NULL) {
-               m_s_instance = new GlutMouseManager();
-       }
-
-       return m_s_instance;
-}      
-
-// these are the functions you should pass to GLUT     
-
-       void
-GlutMouseManager::
-Mouse(
-       int button,
-       int state,
-       int x,
-       int y
-){
-       GlutMouseManager *manager = GlutMouseManager::Instance();
-
-       if (manager->m_handler != NULL) {
-               manager->m_handler->Mouse(button,state,x,y);
-       }
-}
-
-       void
-GlutMouseManager::
-Motion(
-       int x,
-       int y
-){
-       GlutMouseManager *manager = GlutMouseManager::Instance();
-
-       if (manager->m_handler != NULL) {
-               manager->m_handler->Motion(x,y);
-       }
-}
-
-       void
-GlutMouseManager::
-InstallHandler(
-       GlutMouseHandler *handler
-){
-
-       MT_assert(m_handler == NULL);
-       m_handler = handler;
-}
-
-       void
-GlutMouseManager::
-ReleaseHandler(
-){
-       m_handler = NULL;
-}
-
-GlutMouseManager::
-~GlutMouseManager(
-){
-
-       delete(m_handler);
-}
-
-
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.h b/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.h
deleted file mode 100644 (file)
index 4a2344b..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __GLUTMOUSEMANAGER_H__
-#define __GLUTMOUSEMANAGER_H__
-
-#include "MEM_NonCopyable.h"
-#include "MEM_SmartPtr.h"
-
-class GlutMouseHandler {
-public :
-
-       virtual         
-               void
-       Mouse(
-               int button,
-               int state,
-               int x,
-               int y
-       ) = 0;
-
-       virtual
-               void
-       Motion(
-               int x,
-               int y
-       ) = 0;
-
-       virtual 
-       ~GlutMouseHandler(
-       ){};            
-};
-
-class GlutMouseManager : public MEM_NonCopyable{
-
-public :
-
-       static
-               GlutMouseManager *
-       Instance(
-       );
-
-       // these are the functions you should pass to GLUT      
-
-       static
-               void
-       Mouse(
-               int button,
-               int state,
-               int x,
-               int y
-       );
-
-       static
-               void
-       Motion(
-               int x,
-               int y
-       );
-
-               void
-       InstallHandler(
-               GlutMouseHandler *
-       );
-
-               void
-       ReleaseHandler(
-       );
-
-       ~GlutMouseManager(
-       );
-
-private :
-
-       GlutMouseManager (
-       ) :
-               m_handler (0)
-       {
-       };
-       
-       GlutMouseHandler * m_handler;
-
-       static MEM_SmartPtr<GlutMouseManager> m_s_instance;
-};     
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/intern/ChainDrawer.h b/intern/iksolver/test/ik_glut_test/intern/ChainDrawer.h
deleted file mode 100644 (file)
index f286380..0000000
+++ /dev/null
@@ -1,375 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __CHAINDRAWER_H__
-#define __CHAINDRAWER_H__
-
-#include "../common/GlutDrawer.h"
-#include "MyGlutMouseHandler.h"
-#include "MyGlutKeyHandler.h"
-#include "MT_Transform.h"
-#      include "IK_Qsolver.h"
-#      include "../intern/IK_QChain.h"
-#      include "../intern/IK_QSolver_Class.h"
-#include <GL/glut.h>
-
-class ChainDrawer : public GlutDrawer
-{
-public :
-       static
-               ChainDrawer *
-       New(
-       ) {
-               return new ChainDrawer();
-       }
-       
-               void
-       SetMouseHandler(
-               MyGlutMouseHandler *mouse_handler
-       ) {
-               m_mouse_handler = mouse_handler;
-       }
-
-               void
-       SetKeyHandler (
-               MyGlutKeyHandler *key_handler
-       ) {
-               m_key_handler = key_handler;
-       }
-
-               void
-       SetChain(
-               IK_Chain_ExternPtr *chains,int chain_num
-       ) {
-               m_chain_num = chain_num;
-               m_chains = chains;
-       }
-
-
-       // inherited from GlutDrawer
-               void
-       Draw(
-       ) {
-         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-                 glPopMatrix();
-                 glPushMatrix();
-                 glRotatef(m_mouse_handler->AngleX(), 0.0, 1.0, 0.0);
-                 glRotatef(m_mouse_handler->AngleY(), 1.0, 0.0, 0.0);
-                       
-         DrawScene();
-         glutSwapBuffers();
-
-       }
-
-       ~ChainDrawer(
-       ){
-               // nothing to do
-       };              
-       
-private :
-
-               void
-       DrawScene(
-       ){
-
-               // draw a little cross at the position of the key handler
-               // coordinates
-
-               MT_Vector3 line_x(4,0,0);
-               MT_Vector3 line_y(0.0,4,0);
-               MT_Vector3 line_z(0.0,0.0,4);
-
-               MT_Vector3 cross_origin = m_mouse_handler->Position();
-               MT_Vector3 temp;
-               
-               glDisable(GL_LIGHTING);
-
-
-               glBegin(GL_LINES);
-
-               glColor3f (1.0f,1.0f,1.0f);
-
-               temp = cross_origin - line_x;
-               glVertex3f(temp[0],temp[1],temp[2]);
-               temp = cross_origin + line_x;
-               glVertex3f(temp[0],temp[1],temp[2]);
-
-               temp = cross_origin - line_y;
-               glVertex3f(temp[0],temp[1],temp[2]);
-               temp = cross_origin + line_y;
-               glVertex3f(temp[0],temp[1],temp[2]);
-
-               temp = cross_origin - line_z;
-               glVertex3f(temp[0],temp[1],temp[2]);
-               temp = cross_origin + line_z;
-               glVertex3f(temp[0],temp[1],temp[2]);
-
-               glEnd();
-               glEnable(GL_LIGHTING);
-
-
-               IK_Chain_ExternPtr chain;
-
-               int chain_num;
-               for (chain_num = 0; chain_num < m_chain_num; chain_num++) {
-                       chain = m_chains[chain_num];
-
-
-                       IK_Segment_ExternPtr segs = chain->segments;
-                       IK_Segment_ExternPtr seg_start = segs;
-                       const IK_Segment_ExternPtr seg_end = segs + chain->num_segments;
-                       float ogl_matrix[16];
-
-                       glColor3f (0.0f,1.0f,0.0f);
-
-                       MT_Vector3 previous_origin(0,0,0);
-
-                       MT_Transform global_transform;
-                       global_transform.setIdentity();
-                       
-                       for (; seg_start != seg_end; ++seg_start) {
-                               
-                               glPushMatrix();
-
-                               // fill ogl_matrix with zeros
-
-                               std::fill(ogl_matrix,ogl_matrix + 16,float(0));
-
-                               // we have to do a bit of work here to compute the chain's
-                               // bone values
-                                       
-                               // first compute all the matrices we need
-                               
-                               MT_Transform translation;
-                               translation.setIdentity();
-                               translation.translate(MT_Vector3(0,seg_start->length,0));
-
-                               MT_Matrix3x3 seg_rot(
-                                       seg_start->basis_change[0],seg_start->basis_change[1],seg_start->basis_change[2],
-                                       seg_start->basis_change[3],seg_start->basis_change[4],seg_start->basis_change[5],
-                                       seg_start->basis_change[6],seg_start->basis_change[7],seg_start->basis_change[8]
-                               );
-
-                               seg_rot.transpose();
-
-                               MT_Matrix3x3 seg_pre_rot(
-                                       seg_start->basis[0],seg_start->basis[1],seg_start->basis[2],
-                                       seg_start->basis[3],seg_start->basis[4],seg_start->basis[5],
-                                       seg_start->basis[6],seg_start->basis[7],seg_start->basis[8]
-                               );
-
-               
-                               MT_Transform seg_t_pre_rot(
-                                       MT_Point3(
-                                               seg_start->seg_start[0],
-                                               seg_start->seg_start[1],
-                                               seg_start->seg_start[2]
-                                       ),
-                                       seg_pre_rot
-                               );
-                               // start of the bone is just the current global transform
-                               // multiplied by the seg_start vector
-
-                               
-
-                               MT_Transform seg_t_rot(MT_Point3(0,0,0),seg_rot);
-                               MT_Transform seg_local = seg_t_pre_rot * seg_t_rot * translation;
-
-                               MT_Vector3 bone_start = global_transform *      
-                                       MT_Point3(
-                                               seg_start->seg_start[0],
-                                               seg_start->seg_start[1],
-                                               seg_start->seg_start[2]
-                                       );
-
-
-                               global_transform = global_transform * seg_local;
-
-                               global_transform.getValue(ogl_matrix);
-                               MT_Vector3 bone_end = global_transform.getOrigin();
-
-                               glMultMatrixf(ogl_matrix);
-//                             glutSolidSphere(0.5,5,5);
-
-                               glPopMatrix();
-               
-                               glDisable(GL_LIGHTING);
-
-                               glBegin(GL_LINES);
-
-                               // draw lines of the principle axis of the local transform
-
-                               MT_Vector3 x_axis(1,0,0);
-                               MT_Vector3 y_axis(0,1,0);
-                               MT_Vector3 z_axis(0,0,1);
-
-                               x_axis = global_transform.getBasis() * x_axis * 5;
-                               y_axis = global_transform.getBasis() * y_axis * 5;
-                               z_axis = global_transform.getBasis() * z_axis * 5;
-
-
-                               x_axis = x_axis + bone_start;
-                               y_axis = y_axis + bone_start;
-                               z_axis = z_axis + bone_start;
-
-                               glColor3f(1,0,0);
-
-                               glVertex3f(x_axis.x(),x_axis.y(),x_axis.z());
-                               glVertex3f(
-                                               bone_start.x(),
-                                               bone_start.y(),
-                                               bone_start.z()
-                               );
-
-                               glColor3f(0,1,0);
-
-                               glVertex3f(y_axis.x(),y_axis.y(),y_axis.z());
-                               glVertex3f(
-                                               bone_start.x(),
-                                               bone_start.y(),
-                                               bone_start.z()
-                               );
-
-                               glColor3f(0,1,1);
-
-                               glVertex3f(z_axis.x(),z_axis.y(),z_axis.z());
-                               glVertex3f(
-                                               bone_start.x(),
-                                               bone_start.y(),
-                                               bone_start.z()
-                               );
-
-                               glColor3f(0,0,1);
-
-                               glVertex3f(
-                                               bone_start.x(),
-                                               bone_start.y(),
-                                               bone_start.z()
-                               );
-                               glVertex3f(bone_end[0],bone_end[1],bone_end[2]);
-
-                               glEnd();
-                               glEnable(GL_LIGHTING);
-                       }
-#if 0
-                       // draw jacobian column vectors
-
-                       // hack access to internals
-
-                       IK_Solver_Class * internals = static_cast<IK_Solver_Class *>(chain->intern);
-
-                       glDisable(GL_LIGHTING);
-
-                       glBegin(GL_LINES);
-
-                       const TNT::Matrix<MT_Scalar> & jac = internals->Chain().TransposedJacobian();
-
-                       int i = 0;
-                       for (i=0; i < jac.num_rows(); i++) {
-                               glColor3f(1,1,1);
-
-                               previous_origin = internals->Chain().Segments()[i/3].GlobalSegmentStart();
-
-                               glVertex3f(previous_origin[0],previous_origin[1],previous_origin[2]);
-                               glVertex3f(jac[i][0] + previous_origin[0],jac[i][1] + previous_origin[1],jac[i][2] + previous_origin[2]);
-                       
-                               
-                       }
-                       glEnd();
-                       glEnable(GL_LIGHTING);
-#endif
-                       
-               }
-
-               glColor3f(1.0,1.0,1.0);
-
-               glDisable(GL_LIGHTING);
-               glBegin(GL_LINES);
-
-               MT_Scalar cube_size = 50;
-               glVertex3f(cube_size,cube_size,cube_size);
-               glVertex3f(-cube_size,cube_size,cube_size);
-
-               glVertex3f(cube_size,-cube_size,cube_size);
-               glVertex3f(-cube_size,-cube_size,cube_size);
-               
-               glVertex3f(cube_size,cube_size,-cube_size);
-               glVertex3f(-cube_size,cube_size,-cube_size);
-
-               glVertex3f(cube_size,-cube_size,-cube_size);
-               glVertex3f(-cube_size,-cube_size,-cube_size);
-
-
-               glVertex3f(-cube_size,cube_size,cube_size);
-               glVertex3f(-cube_size,-cube_size,cube_size);
-
-               glVertex3f(cube_size,cube_size,-cube_size);
-               glVertex3f(cube_size,-cube_size,-cube_size);
-
-               glVertex3f(cube_size,cube_size,cube_size);
-               glVertex3f(cube_size,-cube_size,cube_size);
-
-               glVertex3f(-cube_size,cube_size,-cube_size);
-               glVertex3f(-cube_size,-cube_size,-cube_size);
-
-
-               glVertex3f(cube_size,cube_size,cube_size);
-               glVertex3f(cube_size,cube_size,-cube_size);
-
-               glVertex3f(cube_size,-cube_size,cube_size);
-               glVertex3f(cube_size,-cube_size,-cube_size);
-
-               glVertex3f(-cube_size,cube_size,cube_size);
-               glVertex3f(-cube_size,cube_size,-cube_size);
-
-               glVertex3f(-cube_size,-cube_size,cube_size);
-               glVertex3f(-cube_size,-cube_size,-cube_size);
-               glEnd();
-               glEnable(GL_LIGHTING);
-
-       };
-
-
-
-private :
-
-       MyGlutMouseHandler * m_mouse_handler;
-       MyGlutKeyHandler *m_key_handler;
-       IK_Chain_ExternPtr *m_chains;
-
-       int m_chain_num;
-       ChainDrawer (
-       ) : m_chains (NULL),
-               m_mouse_handler (NULL),
-               m_chain_num (0)
-       {
-       };
-       
-};
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/intern/MyGlutKeyHandler.h b/intern/iksolver/test/ik_glut_test/intern/MyGlutKeyHandler.h
deleted file mode 100644 (file)
index 621e0d3..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __MYGLUTKEYHANDLER_H__
-#define __MYGLUTKEYHANDLER_H__
-
-#include "../common/GlutKeyboardManager.h"
-
-class MyGlutKeyHandler : public GlutKeyboardHandler
-{
-public :
-       static
-               MyGlutKeyHandler *
-       New(
-       ) {
-               MEM_SmartPtr<MyGlutKeyHandler> output = new MyGlutKeyHandler();
-
-               if (output == NULL
-               ) {
-                       return NULL;
-               }
-               return output.Release();
-               
-       }       
-
-               void
-       HandleKeyboard(
-               unsigned char key,
-               int x,
-               int y
-       ){
-
-               switch (key) {
-
-                       case 27 :
-
-                               exit(0);
-               }       
-       }
-               
-       ~MyGlutKeyHandler(
-       ) 
-       {
-       };
-
-private :
-
-       MyGlutKeyHandler(
-       )
-       {
-       }
-
-};
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/intern/MyGlutMouseHandler.h b/intern/iksolver/test/ik_glut_test/intern/MyGlutMouseHandler.h
deleted file mode 100644 (file)
index 205ce38..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef __MYGLUTMOUSEHANDLER_H__
-#define __MYGLUTMOUSEHANDLER_H__
-
-#include "../common/GlutMouseManager.h"
-#include <GL/glut.h>
-#include "IK_solver.h"
-
-class MyGlutMouseHandler : public GlutMouseHandler
-{
-public :
-       static 
-               MyGlutMouseHandler *
-       New(
-       ) {
-               MEM_SmartPtr<MyGlutMouseHandler> output = new MyGlutMouseHandler();
-               if (output == NULL
-               ) {
-                       return NULL;
-               }
-               return output.Release();
-               
-       }
-
-               void
-       SetChain(
-               IK_Chain_ExternPtr *chains, int num_chains
-       ){
-               m_chains = chains;
-               m_num_chains = num_chains;
-       }
-
-               void
-       Mouse(
-               int button,
-               int state,
-               int x,
-               int y
-       ){
-               if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
-                       m_moving = true;
-                       m_begin_x = x;
-                       m_begin_y = y;  
-               }
-               if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
-                       m_moving = false;
-               }
-
-               if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN) {
-                       m_tracking = true;
-               }
-               if (button == GLUT_RIGHT_BUTTON && state == GLUT_UP) {
-                       m_tracking = false;
-               }
-
-               if (button == GLUT_MIDDLE_BUTTON && state == GLUT_DOWN) {
-                       m_cg_on = true;
-               }
-               if (button == GLUT_MIDDLE_BUTTON && state == GLUT_UP) {
-                       m_cg_on = false;
-               }
-
-       }
-
-
-               void
-       Motion(
-               int x,
-               int y
-       ){
-               if (m_moving) {
-                       m_angle_x = m_angle_x + (x - m_begin_x);
-                       m_begin_x = x;
-
-                       m_angle_y = m_angle_y + (y - m_begin_y);
-                       m_begin_y = y;
-
-                       glutPostRedisplay();
-               }
-               if (m_tracking) {
-
-                       int w_h = glutGet((GLenum)GLUT_WINDOW_HEIGHT);
-
-                       y = w_h - y;
-
-                       double mvmatrix[16];
-                       double projmatrix[16];
-                       GLint viewport[4];
-
-                       double px, py, pz,sz;
-
-                       /* Get the matrices needed for gluUnProject */
-                       glGetIntegerv(GL_VIEWPORT, viewport);
-                       glGetDoublev(GL_MODELVIEW_MATRIX, mvmatrix);
-                       glGetDoublev(GL_PROJECTION_MATRIX, projmatrix);
-
-                       // work out the position of the end effector in screen space
-
-                       GLdouble ex,ey,ez;
-                       ex = m_pos.x();
-                       ey = m_pos.y();
-                       ez = m_pos.z();
-
-                       gluProject(ex, ey, ez, mvmatrix, projmatrix, viewport, &px, &py, &sz);
-                       gluUnProject((GLdouble) x, (GLdouble) y, sz, mvmatrix, projmatrix, viewport, &px, &py, &pz);
-
-                       m_pos = MT_Vector3(px,py,pz);
-
-               }
-               if (m_tracking || m_cg_on) {
-                       float temp[3];
-                       m_pos.getValue(temp);
-
-                       IK_SolveChain(m_chains[0],temp,0.01,200,0.1,m_chains[1]->segments);
-                       IK_LoadChain(m_chains[0],m_chains[0]->segments,m_chains[0]->num_segments);
-       
-                       glutPostRedisplay();
-               }                       
-
-
-       }
-
-       const 
-               float
-       AngleX(
-       ) const {
-               return m_angle_x;
-       }
-
-       const 
-               float
-       AngleY(
-       ) const {
-               return m_angle_y;
-       }
-
-       const
-               MT_Vector3      
-       Position(
-       ) const {
-               return m_pos;
-       }
-
-
-private :
-
-       MyGlutMouseHandler (
-       ) :  
-               m_angle_x(0),
-               m_angle_y(0),
-               m_begin_x(0),
-               m_begin_y(0),
-               m_moving (false),
-               m_tracking (false),
-               m_pos(0,0,0),
-               m_cg_on (false),
-               m_chains(NULL),
-               m_num_chains(0)
-       {
-       };
-               
-       float m_angle_x;
-       float m_angle_y;
-       float m_begin_x;
-       float m_begin_y;
-
-       bool m_moving;
-       bool m_tracking;
-       bool m_cg_on;
-       MT_Vector3 m_pos;
-       
-       IK_Chain_ExternPtr *m_chains;
-       int m_num_chains;
-
-};
-
-#endif
-
diff --git a/intern/iksolver/test/ik_glut_test/intern/main.cpp b/intern/iksolver/test/ik_glut_test/intern/main.cpp
deleted file mode 100644 (file)
index bfb9d8f..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-/**
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include "MEM_SmartPtr.h"
-
-#ifdef USE_QUATERNIONS
-#include "IK_Qsolver.h"
-#else 
-#include "IK_solver.h"
-#endif
-
-#include <GL/glut.h>
-#include "MT_Vector3.h"
-#include "MT_Quaternion.h"
-#include "MT_Matrix3x3.h"
-#include "MyGlutMouseHandler.h"        
-#include "MyGlutKeyHandler.h"
-#include "ChainDrawer.h"
-
-void init(MT_Vector3 min,MT_Vector3 max)
-{
-       GLfloat light_diffuse0[] = {1.0, 0.0, 0.0, 1.0};  /* Red diffuse light. */
-       GLfloat light_position0[] = {1.0, 1.0, 1.0, 0.0};  /* Infinite light location. */
-
-       GLfloat light_diffuse1[] = {1.0, 1.0, 1.0, 1.0};  /* Red diffuse light. */
-       GLfloat light_position1[] = {1.0, 0, 0, 0.0};  /* Infinite light location. */
-
-       /* Enable a single OpenGL light. */
-       glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse0);
-       glLightfv(GL_LIGHT0, GL_POSITION, light_position0);
-
-       glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse1);
-       glLightfv(GL_LIGHT1, GL_POSITION, light_position1);
-
-       glEnable(GL_LIGHT0);
-       glEnable(GL_LIGHT1);
-       glEnable(GL_LIGHTING);
-
-       /* Use depth buffering for hidden surface elimination. */
-       glEnable(GL_DEPTH_TEST);
-
-       /* Setup the view of the cube. */
-       glMatrixMode(GL_PROJECTION);
-
-       // center of the box + 3* depth of box
-
-       MT_Vector3 center = (min + max) * 0.5;
-       MT_Vector3 diag = max - min;
-
-       float depth = diag.length();
-       float distance = 2;
-
-       gluPerspective(/* field of view in degree */ 40.0,
-                      /* aspect ratio */ 1.0,
-                      /* Z near */ 1.0,
-                      /* Z far */ distance * depth * 2
-                      );
-       glMatrixMode(GL_MODELVIEW);
-
-
-       gluLookAt(center.x(), center.y(), center.z() + distance*depth,  /* eye is at (0,0,5) */
-                 center.x(), center.y(), center.z(),      /* center is at (0,0,0) */
-                 0.0, 1.0, 0.);      /* up is in positive Y direction */
-
-       glPushMatrix();
-
-
-}
-
-int main(int argc, char **argv)
-{
-
-
-       const int seg_num = 5;
-       const MT_Scalar seg_length = 15;
-
-       const float seg_startA[3] = {0,0,0};
-       const float seg_startB[3] = {0,-20,0};
-
-       // create some segments to solve with
-
-       // First chain
-       //////////////
-
-
-       IK_Segment_ExternPtr const segmentsA = new IK_Segment_Extern[seg_num];  
-       IK_Segment_ExternPtr const segmentsB = new IK_Segment_Extern[seg_num];  
-
-       IK_Segment_ExternPtr seg_it = segmentsA;        
-       IK_Segment_ExternPtr seg_itB = segmentsB;       
-
-       
-       {
-
-//             MT_Quaternion qmat(MT_Vector3(0,0,1),-3.141/2);
-               MT_Quaternion qmat(MT_Vector3(0,0,1),0);
-               MT_Matrix3x3 mat(qmat);
-
-               seg_it->seg_start[0] = seg_startA[0];
-               seg_it->seg_start[1] = seg_startA[1];
-               seg_it->seg_start[2] = seg_startA[2];
-
-               float temp[12];
-               mat.getValue(temp);
-               seg_it->basis[0] = temp[0];
-               seg_it->basis[1] = temp[1];
-               seg_it->basis[2] = temp[2];
-
-               seg_it->basis[3] = temp[4];
-               seg_it->basis[4] = temp[5];
-               seg_it->basis[5] = temp[6];
-
-               seg_it->basis[6] = temp[8];
-               seg_it->basis[7] = temp[9];
-               seg_it->basis[8] = temp[10];
-               seg_it->length = seg_length;
-
-               MT_Quaternion q;
-               q.setEuler(0,0,0);
-
-                       
-               MT_Matrix3x3 qrot(q);
-
-               seg_it->basis_change[0] = 1;
-               seg_it->basis_change[1] = 0;
-               seg_it->basis_change[2] = 0;
-               seg_it->basis_change[3] = 0;
-               seg_it->basis_change[4] = 1;
-               seg_it->basis_change[5] = 0;
-               seg_it->basis_change[6] = 0;
-               seg_it->basis_change[7] = 0;
-               seg_it->basis_change[8] = 1;
-
-
-               seg_it ++;                      
-
-               seg_itB->seg_start[0] = seg_startA[0];
-               seg_itB->seg_start[1] = seg_startA[1];
-               seg_itB->seg_start[2] = seg_startA[2];
-               seg_itB->basis[0] = temp[0];
-               seg_itB->basis[1] = temp[1];
-               seg_itB->basis[2] = temp[2];
-
-               seg_itB->basis[3] = temp[4];
-               seg_itB->basis[4] = temp[5];
-               seg_itB->basis[5] = temp[6];
-
-               seg_itB->basis[6] = temp[8];
-               seg_itB->basis[7] = temp[9];
-               seg_itB->basis[8] = temp[10];
-               seg_itB->length = seg_length;
-
-               seg_itB->basis_change[0] = 1;
-               seg_itB->basis_change[1] = 0;
-               seg_itB->basis_change[2] = 0;
-               seg_itB->basis_change[3] = 0;
-               seg_itB->basis_change[4] = 1;
-               seg_itB->basis_change[5] = 0;
-               seg_itB->basis_change[6] = 0;
-               seg_itB->basis_change[7] = 0;
-               seg_itB->basis_change[8] = 1;
-
-
-               seg_itB ++;                     
-
-
-       }
-
-
-       int i;
-       for (i=1; i < seg_num; ++i, ++seg_it,++seg_itB) {
-
-               MT_Quaternion qmat(MT_Vector3(0,0,1),0.3);
-               MT_Matrix3x3 mat(qmat);
-
-               seg_it->seg_start[0] = 0;
-               seg_it->seg_start[1] = 0;
-               seg_it->seg_start[2] = 0;
-
-               float temp[12];
-               mat.getValue(temp);
-               seg_it->basis[0] = temp[0];
-               seg_it->basis[1] = temp[1];
-               seg_it->basis[2] = temp[2];
-
-               seg_it->basis[3] = temp[4];
-               seg_it->basis[4] = temp[5];
-               seg_it->basis[5] = temp[6];
-
-               seg_it->basis[6] = temp[8];
-               seg_it->basis[7] = temp[9];
-               seg_it->basis[8] = temp[10];
-               seg_it->length = seg_length;
-
-               MT_Quaternion q;
-               q.setEuler(0,0,0);
-
-                       
-               MT_Matrix3x3 qrot(q);
-
-               seg_it->basis_change[0] = 1;
-               seg_it->basis_change[1] = 0;
-               seg_it->basis_change[2] = 0;
-               seg_it->basis_change[3] = 0;
-               seg_it->basis_change[4] = 1;
-               seg_it->basis_change[5] = 0;
-               seg_it->basis_change[6] = 0;
-               seg_it->basis_change[7] = 0;
-               seg_it->basis_change[8] = 1;
-
-
-               ///////////////////////////////
-
-               seg_itB->seg_start[0] = 0;
-               seg_itB->seg_start[1] = 0;
-               seg_itB->seg_start[2] = 0;
-               seg_itB->basis[0] = temp[0];
-               seg_itB->basis[1] = temp[1];
-               seg_itB->basis[2] = temp[2];
-
-               seg_itB->basis[3] = temp[4];
-               seg_itB->basis[4] = temp[5];
-               seg_itB->basis[5] = temp[6];
-
-               seg_itB->basis[6] = temp[8];
-               seg_itB->basis[7] = temp[9];
-               seg_itB->basis[8] = temp[10];
-               seg_itB->length = seg_length;
-
-               seg_itB->basis_change[0] = 1;
-               seg_itB->basis_change[1] = 0;
-               seg_itB->basis_change[2] = 0;
-               seg_itB->basis_change[3] = 0;
-               seg_itB->basis_change[4] = 1;
-               seg_itB->basis_change[5] = 0;
-               seg_itB->basis_change[6] = 0;
-               seg_itB->basis_change[7] = 0;
-               seg_itB->basis_change[8] = 1;
-
-
-
-       }
-
-       // create the chains
-
-       const int num_chains = 2;
-
-       IK_Chain_ExternPtr chains[num_chains];
-
-       chains[0] = IK_CreateChain();
-       chains[1] = IK_CreateChain();
-
-       // load segments into chain
-
-       IK_LoadChain(chains[0],segmentsA,seg_num);
-       IK_LoadChain(chains[1],segmentsB,seg_num);
-
-       // make and install a mouse handler
-
-       MEM_SmartPtr<MyGlutMouseHandler> mouse_handler (MyGlutMouseHandler::New());
-       GlutMouseManager::Instance()->InstallHandler(mouse_handler);
-
-       mouse_handler->SetChain(chains,num_chains);
-
-       // make and install a keyhandler
-       MEM_SmartPtr<MyGlutKeyHandler> key_handler (MyGlutKeyHandler::New());
-       GlutKeyboardManager::Instance()->InstallHandler(key_handler);
-
-       // instantiate the drawing class        
-
-       MEM_SmartPtr<ChainDrawer> drawer (ChainDrawer::New());
-       GlutDrawManager::Instance()->InstallDrawer(drawer);
-
-       drawer->SetMouseHandler(mouse_handler);
-       drawer->SetChain(chains,num_chains);
-       drawer->SetKeyHandler(key_handler);
-
-       glutInit(&argc, argv);
-       glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
-       glutCreateWindow("ik");
-       glutDisplayFunc(GlutDrawManager::Draw);
-       glutMouseFunc(GlutMouseManager::Mouse);
-       glutMotionFunc(GlutMouseManager::Motion);
-       glutKeyboardFunc(GlutKeyboardManager::HandleKeyboard);
-
-       init(MT_Vector3(-50,-50,-50),MT_Vector3(50,50,50));
-       glutMainLoop();
-       return 0;             /* ANSI C requires main to return int. */
-}