Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9174 in orxonox.OLD


Ignore:
Timestamp:
Jul 4, 2006, 10:17:57 PM (18 years ago)
Author:
patrick
Message:

work flush

Location:
branches/presentation/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/presentation/src/lib/collision_detection/obb_tree.cc

    r9172 r9174  
    9090void OBBTree::createBox(Vector start, Vector end)
    9191{
    92   this->rootNode = new OBBTreeNode(*this, NULL, 11);
     92  this->rootNode = new OBBTreeNode(*this, NULL, 1);
    9393
    9494  this->rootNode->createBox(start, end);
  • branches/presentation/src/lib/collision_detection/obb_tree_node.cc

    r9172 r9174  
    5757  this->nodeRight = NULL;
    5858  this->bvElement = NULL;
     59
     60  this->flag = false;
    5961
    6062  this->triangleIndexList1 = NULL;
     
    99101  this->nodeLeft = NULL;
    100102  this->nodeRight = NULL;
     103//   this->depth = 0;
    101104
    102105  this->bvElement->center = (end - start) * 0.5f;
     
    104107  this->bvElement->halfLength[1] = (end.y - start.y) * 0.5f;
    105108  this->bvElement->halfLength[2] = (end.z - start.z) * 0.5f;
     109
     110  this->bvElement->axis[0] = Vector(1,0,0);
     111  this->bvElement->axis[1] = Vector(0,1,0);
     112  this->bvElement->axis[2] = Vector(0,0,1);
     113
     114
     115  PRINTF(0)("half length %f, %f, %f", this->bvElement->halfLength[0], this->bvElement->halfLength[1], this->bvElement->halfLength[2]);
     116  PRINTF(0)("center:\n");
     117  this->bvElement->center.debug();
     118  this->flag = true;
    106119}
    107120
     
    577590bool OBBTreeNode::overlapTest(OBB* boxA, OBB* boxB, WorldEntity* nodeA, WorldEntity* nodeB)
    578591{
     592
    579593  //HACK remove this again
    580594  this->owner = nodeA;
     
    693707void OBBTreeNode::drawBV(int depth, int drawMode, const Vector& color,  bool top) const
    694708{
     709
     710  if( !this->flag)
     711    return;
     712
     713  PRINTF(0)("bv box\n");
     714
    695715  /* this function can be used to draw the triangles and/or the points only  */
    696716  if( 1 /*drawMode & DRAW_MODEL || drawMode & DRAW_ALL*/)
  • branches/presentation/src/lib/collision_detection/obb_tree_node.h

    r9172 r9174  
    8080
    8181    WorldEntity*        owner;
     82    bool flag;
    8283};
    8384
  • branches/presentation/src/world_entities/weapons/aiming_system.cc

    r9172 r9174  
    6363  this->subscribeReaction(CREngine::CR_OBJECT_DAMAGE, CL_WORLD_ENTITY);
    6464
    65   this->range = 1000.0f;
    66   this->sideLength = 10.0f;
     65  this->range = 10.0f;
     66  this->sideLength = 2.0f;
    6767
    6868  // new obb tree
    6969  this->obbTree = new OBBTree();
    7070  this->obbTree->createBox(Vector(0.0f, 0.0f, 0.0f), Vector(this->range, this->sideLength, this->sideLength));
     71  this->setOBBTree(this->obbTree);
    7172}
    7273
     
    137138void AimingSystem::draw() const
    138139{
    139 //   WorldEntity::draw();
     140  WorldEntity::draw();
    140141
    141   glMatrixMode(GL_MODELVIEW);
    142   glPushMatrix();
    143 
    144   /* translate */
    145   glTranslatef (this->getAbsCoor ().x,
    146                 this->getAbsCoor ().y,
    147                 this->getAbsCoor ().z);
    148   Vector tmpRot = this->getAbsDir().getSpacialAxis();
    149   glRotatef (this->getAbsDir().getSpacialAxisAngle(), tmpRot.x, tmpRot.y, tmpRot.z );
    150 
    151   this->obbTree->drawBV(1, 1);
    152 
    153   glPopMatrix();
     142//   glMatrixMode(GL_MODELVIEW);
     143//   glPushMatrix();
     144//
     145//   /* translate */
     146//   glTranslatef (this->getAbsCoor ().x,
     147//                 this->getAbsCoor ().y,
     148//                 this->getAbsCoor ().z);
     149//   Vector tmpRot = this->getAbsDir().getSpacialAxis();
     150//   glRotatef (this->getAbsDir().getSpacialAxisAngle(), tmpRot.x, tmpRot.y, tmpRot.z );
     151//
     152//   this->obbTree->drawBV(0, 1);
     153//
     154//   glPopMatrix();
    154155
    155156}
  • branches/presentation/src/world_entities/world_entity.h

    r9166 r9174  
    7474/** @returns a reference to the obb tree of this worldentity */
    7575  inline BVTree* getOBBTree() const { return this->obbTree; };
     76  inline void setOBBTree(OBBTree* tree) { if( this->obbTree != NULL) this->obbTree = (BVTree*)tree; }
    7677  void drawBVTree(int depth, int drawMode) const;
    7778  inline AABB* getModelAABB() const { return (this->aabbNode)?this->aabbNode->getAABB():NULL;}
Note: See TracChangeset for help on using the changeset viewer.