Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5430 in orxonox.OLD for trunk/src/lib/collision_detection


Ignore:
Timestamp:
Oct 24, 2005, 9:21:15 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: static definitions

Location:
trunk/src/lib/collision_detection
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/collision_detection/obb_tree_node.cc

    r5429 r5430  
    3737OBBTree*  OBBTreeNode::obbTree = NULL;
    3838
    39 float**  OBBTreeNode::coMat = NULL;
    40 float**  OBBTreeNode::eigvMat = NULL;
    41 float*   OBBTreeNode::eigvlMat = NULL;
    42 int*     OBBTreeNode::rotCount = NULL;
     39float**  OBBTreeNode_coMat = NULL;
     40float**  OBBTreeNode_eigvMat = NULL;
     41float*   OBBTreeNode_eigvlMat = NULL;
     42int*     OBBTreeNode_rotCount = NULL;
     43GLUquadricObj* OBBTreeNode_sphereObj = NULL;
    4344
    4445/**
     
    5253  this->bvElement = NULL;
    5354
    54   if(coMat == NULL)
    55   {
    56     coMat = new float*[4];
     55  if(OBBTreeNode_coMat == NULL)
     56  {
     57    OBBTreeNode_coMat = new float*[4];
    5758    for(int i = 0; i < 4; i++)
    58       coMat[i] = new float[4];
    59   }
    60   if(eigvMat == NULL)
    61   {
    62     eigvMat = new float*[4];
     59      OBBTreeNode_coMat[i] = new float[4];
     60  }
     61  if(OBBTreeNode_eigvMat == NULL)
     62  {
     63    OBBTreeNode_eigvMat = new float*[4];
    6364    for(int i = 0; i < 4; i++)
    64       eigvMat[i] = new float[4];
    65   }
    66   if( eigvlMat == NULL)
    67   {
    68     eigvlMat = new float[4];
    69   }
    70   if( rotCount == NULL)
    71     rotCount = new int;
    72 
    73   this->sphereObj = gluNewQuadric();
     65      OBBTreeNode_eigvMat[i] = new float[4];
     66  }
     67  if( OBBTreeNode_eigvlMat == NULL)
     68  {
     69    OBBTreeNode_eigvlMat = new float[4];
     70  }
     71  if( OBBTreeNode_rotCount == NULL)
     72    OBBTreeNode_rotCount = new int;
     73
     74  if (OBBTreeNode_sphereObj == NULL)
     75    OBBTreeNode_sphereObj = gluNewQuadric();
    7476}
    7577
     
    358360  Vector*              axis = new Vector[3];                //!< the references to the obb axis
    359361
    360   coMat[1][1] = box->covarianceMatrix[0][0]; coMat[1][2] = box->covarianceMatrix[0][1]; coMat[1][3] = box->covarianceMatrix[0][2];
    361   coMat[2][1] = box->covarianceMatrix[1][0]; coMat[2][2] = box->covarianceMatrix[1][1]; coMat[2][3] = box->covarianceMatrix[1][2];
    362   coMat[3][1] = box->covarianceMatrix[2][0]; coMat[3][2] = box->covarianceMatrix[2][1]; coMat[3][3] = box->covarianceMatrix[2][2];
     362  OBBTreeNode_coMat[1][1] = box->covarianceMatrix[0][0]; OBBTreeNode_coMat[1][2] = box->covarianceMatrix[0][1]; OBBTreeNode_coMat[1][3] = box->covarianceMatrix[0][2];
     363  OBBTreeNode_coMat[2][1] = box->covarianceMatrix[1][0]; OBBTreeNode_coMat[2][2] = box->covarianceMatrix[1][1]; OBBTreeNode_coMat[2][3] = box->covarianceMatrix[1][2];
     364  OBBTreeNode_coMat[3][1] = box->covarianceMatrix[2][0]; OBBTreeNode_coMat[3][2] = box->covarianceMatrix[2][1]; OBBTreeNode_coMat[3][3] = box->covarianceMatrix[2][2];
    363365
    364366//   OBBTreeNode::coMat[0][0] = box->covarianceMatrix[0][0];
     
    376378
    377379  /* new jacobi tests */
    378   JacobI(OBBTreeNode::coMat, 3, eigvlMat, eigvMat, rotCount);
     380  JacobI(OBBTreeNode_coMat, 3, OBBTreeNode_eigvlMat, OBBTreeNode_eigvMat, OBBTreeNode_rotCount);
    379381  PRINTF(3)("-- Done Jacobi Decomposition\n");
    380382
     
    386388//     for(int k = 1; k < 4; ++k)
    387389//     {
    388 //       PRINTF(3)(" \b%f ", eigvMat[j][k]);
     390//       PRINTF(3)(" \b%f ", OBBTreeNode_OBBTreeNode_eigvMat[j][k]);
    389391//     }
    390392//     PRINTF(3)(" |\n");
    391393//   }
    392394
    393   axis[0].x = eigvMat[1][1]; axis[0].y = eigvMat[2][1]; axis[0].z = eigvMat[3][1];
    394   axis[1].x = eigvMat[1][2]; axis[1].y = eigvMat[2][2]; axis[1].z = eigvMat[3][2];
    395   axis[2].x = eigvMat[1][3]; axis[2].y = eigvMat[2][3]; axis[2].z = eigvMat[3][3];
     395  axis[0].x = OBBTreeNode_eigvMat[1][1]; axis[0].y = OBBTreeNode_eigvMat[2][1]; axis[0].z = OBBTreeNode_eigvMat[3][1];
     396  axis[1].x = OBBTreeNode_eigvMat[1][2]; axis[1].y = OBBTreeNode_eigvMat[2][2]; axis[1].z = OBBTreeNode_eigvMat[3][2];
     397  axis[2].x = OBBTreeNode_eigvMat[1][3]; axis[2].y = OBBTreeNode_eigvMat[2][3]; axis[2].z = OBBTreeNode_eigvMat[3][3];
    396398  axis[0].normalize();
    397399  axis[1].normalize();
     
    815817          glPushMatrix();
    816818          glTranslatef(this->bvElement->vertices[i][0], this->bvElement->vertices[i][1], this->bvElement->vertices[i][2]);
    817           gluSphere(this->sphereObj, 0.1, 10, 10);
     819          gluSphere(OBBTreeNode_sphereObj, 0.1, 10, 10);
    818820          glPopMatrix();
    819821        }
  • trunk/src/lib/collision_detection/obb_tree_node.h

    r5427 r5430  
    6969    int                 tmpLen1;                    //!< len vert data obbox1
    7070    int                 tmpLen2;                    //!< len vert data obbox2
    71 
    72     static float**      coMat;                      //!< temp covariance matrice save place - consumes less mem
    73     static float**      eigvMat;                    //!< temp eigenvector matrice save place
    74     static float*       eigvlMat;                   //!< temp eigenvalue vector save place
    75     static int*         rotCount;                   //!< temp rotations count save place: how many givens-rotations where needed to transform the matrix :)
    76 
    77     GLUquadricObj*      sphereObj;
    7871};
    7972
Note: See TracChangeset for help on using the changeset viewer.