Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 10, 2005, 11:42:38 AM (19 years ago)
Author:
patrick
Message:

orxonox/trunk: solved last accuracy problem. all is well now. the box could be a little more tight

File:
1 edited

Legend:

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

    r4588 r4589  
    217217  float               tmpLength;                             //!< tmp save point for the length
    218218
    219   ax[0].r = *box->center; ax[0].a = *box->axis[0];
    220   ax[1].r = *box->center; ax[1].a = *box->axis[1];
    221   ax[2].r = *box->center; ax[2].a = *box->axis[2];
    222219
    223220  Plane p0(*box->axis[0], *box->center);
     
    225222  Plane p2(*box->axis[2], *box->center);
    226223
    227 
    228 
    229   halfLength[0] = 0.0f;
     224  halfLength[0] = -1.0f;
    230225  for(int j = 0; j < length; ++j)
    231226  {
    232     tmpLength = p0.distancePoint(vertices[j]);
     227    tmpLength = fabs(p0.distancePoint(vertices[j]));
    233228    if( tmpLength > halfLength[0])
    234229      halfLength[0] = tmpLength;
    235230  }
    236231
    237 
    238   halfLength[1] = 0.0f;
     232  halfLength[1] = -1.0f;
    239233  for(int j = 0; j < length; ++j)
    240234  {
    241     tmpLength = p1.distancePoint(vertices[j]);
     235    tmpLength = fabs(p1.distancePoint(vertices[j]));
    242236    if( tmpLength > halfLength[1])
    243237      halfLength[1] = tmpLength;
    244238  }
    245239
    246   halfLength[2] = 0.0f;
     240  halfLength[2] = -1.0f;
    247241  for(int j = 0; j < length; ++j)
    248242  {
    249     tmpLength = p2.distancePoint(vertices[j]);
     243    tmpLength = fabs(p2.distancePoint(vertices[j]));
    250244    if( tmpLength > halfLength[2])
    251245      halfLength[2] = tmpLength;
     
    253247
    254248  box->halfLength = halfLength;
    255 
    256249
    257250
     
    300293void OBBTreeNode::drawBVPolygon(int currentDepth, const int depth) const
    301294{
     295
     296  /* draw world axes */
     297  glBegin(GL_LINES);
     298  glColor3f(0.0, 0.4, 0.3);
     299  glVertex3f(0.0, 0.0, 0.0);
     300  glVertex3f(3.0, 0.0, 0.0);
     301
     302  glVertex3f(0.0, 0.0, 0.0);
     303  glVertex3f(0.0, 3.0, 0.0);
     304
     305  glVertex3f(0.0, 0.0, 0.0);
     306  glVertex3f(0.0, 0.0, 3.0);
     307  glEnd();
     308
     309
    302310
    303311  /* draw the obb axes */
Note: See TracChangeset for help on using the changeset viewer.