Changeset 4992 in orxonox.OLD for orxonox/trunk/src/lib/coord/p_node.cc
- Timestamp:
- Aug 13, 2005, 10:02:40 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/coord/p_node.cc
r4991 r4992 114 114 this->toPosition = NULL; 115 115 this->toDirection = NULL; 116 this->bias = 1.0; 116 117 } 117 118 … … 182 183 } 183 184 184 void PNode::setRelCoorSoft(const Vector& relCoordSoft) 185 /** 186 * sets a new relative position smoothely 187 * @param relCoordSoft the new Position to iterate to 188 * @param bias how fast to iterate to this position 189 */ 190 void PNode::setRelCoorSoft(const Vector& relCoordSoft, float bias) 185 191 { 186 192 if (likely(this->toPosition == NULL)) … … 188 194 189 195 *this->toPosition = relCoordSoft; 190 } 191 192 193 /** 194 * set relative coordinates 196 this->bias = bias; 197 } 198 199 200 /** 201 * set relative coordinates smoothely 195 202 * @param x x-relative coordinates to its parent 196 203 * @param y y-relative coordinates to its parent 197 204 * @param z z-relative coordinates to its parent 198 \see void PNode::setRelCoor (const Vector& relCoord)199 */ 200 void PNode::setRelCoorSoft (float x, float y, float z )201 { 202 this->setRelCoorSoft(Vector(x, y, z) );205 \see void PNode::setRelCoorSoft (const Vector&, float) 206 */ 207 void PNode::setRelCoorSoft (float x, float y, float z, float bias) 208 { 209 this->setRelCoorSoft(Vector(x, y, z), bias); 203 210 } 204 211 … … 295 302 * sets the Relative Direction of this node to its parent in a Smoothed way 296 303 * @param relDirSoft the direction to iterate to smoothely. 297 */ 298 void PNode::setRelDirSoft(const Quaternion& relDirSoft) 304 * @param bias how fast to iterate to the new Direction 305 */ 306 void PNode::setRelDirSoft(const Quaternion& relDirSoft, float bias) 299 307 { 300 308 if (likely(this->toDirection == NULL)) … … 302 310 303 311 *this->toDirection = relDirSoft; 312 this->bias = bias; 304 313 } 305 314 … … 312 321 * main difference is, that here you give a directional vector, that will be translated into a Quaternion 313 322 */ 314 void PNode::setRelDirSoft(float x, float y, float z )315 { 316 this->setRelDirSoft(Quaternion(Vector(x,y,z), Vector(0,1,0)) );323 void PNode::setRelDirSoft(float x, float y, float z, float bias) 324 { 325 this->setRelDirSoft(Quaternion(Vector(x,y,z), Vector(0,1,0)), bias); 317 326 } 318 327 … … 383 392 if( likely(pNode->parent != NULL)) 384 393 { 385 PRINTF( 3)("PNode::addChild() - reparenting node: removing it and adding it again\n");394 PRINTF(4)("PNode::addChild() - reparenting node: removing it and adding it again\n"); 386 395 pNode->parent->children->remove(pNode); 387 396 } … … 463 472 * @param parentNode the new Node to connect this node to. 464 473 */ 465 void PNode::softReparent(PNode* parentNode) 466 { 474 void PNode::softReparent(PNode* parentNode, float bias) 475 { 476 if (this->parent == parentNode) 477 return; 478 467 479 //this->setRelCoorSoft(this->getRelCoor()); 468 480 if (likely(this->toPosition == NULL)) … … 476 488 *this->toDirection = this->getRelDir(); 477 489 } 490 this->bias = bias; 478 491 479 492 … … 491 504 } 492 505 493 void PNode::softReparent(const char* parentName )506 void PNode::softReparent(const char* parentName, float bias) 494 507 { 495 508 PNode* parentNode = dynamic_cast<PNode*>(ClassList::getObject(parentName, CL_PARENT_NODE)); 496 509 if (parentNode != NULL) 497 this->softReparent(parentNode );510 this->softReparent(parentNode, bias); 498 511 } 499 512 … … 555 568 if (unlikely(this->toPosition != NULL)) 556 569 { 557 Vector moveVect = (*this->toPosition - this->getRelCoor()) *dt ;570 Vector moveVect = (*this->toPosition - this->getRelCoor()) *dt*bias; 558 571 559 572 if (likely(moveVect.len() >= .001)) … … 570 583 if (unlikely(this->toDirection != NULL)) 571 584 { 572 Quaternion rotQuat = (*this->toDirection - this->getRelDir()) *dt ;585 Quaternion rotQuat = (*this->toDirection - this->getRelDir()) *dt*bias; 573 586 574 587 // if (likely(rotQuat.len() >= .001))
Note: See TracChangeset
for help on using the changeset viewer.