--------------------------- Best-fit sphere
| 444 | //--------------------------- |
| 445 | // Best-fit sphere |
| 446 | void MeshFit::addSphere( F32 radius, const Point3F& center ) |
| 447 | { |
| 448 | TSMesh* mesh = initMeshFromFile( TSShapeConstructor::getSphereShapePath() ); |
| 449 | if ( !mesh ) |
| 450 | return; |
| 451 | |
| 452 | for ( S32 i = 0; i < mesh->mVertexData.size(); i++ ) |
| 453 | { |
| 454 | TSMesh::__TSMeshVertexBase &vdata = mesh->mVertexData.getBase(i); |
| 455 | Point3F v = vdata.vert(); |
| 456 | vdata.vert( v * radius ); |
| 457 | } |
| 458 | mesh->computeBounds(); |
| 459 | |
| 460 | mMeshes.increment(); |
| 461 | MeshFit::Mesh& lastMesh = mMeshes.last(); |
| 462 | lastMesh.type = MeshFit::Sphere; |
| 463 | lastMesh.transform.identity(); |
| 464 | lastMesh.transform.setPosition(center); |
| 465 | lastMesh.tsmesh = mesh; |
| 466 | } |
| 467 | |
| 468 | void MeshFit::fitSphere() |
| 469 | { |
no test coverage detected