Changeset 3375 for d-collide

Show
Ignore:
Timestamp:
04/19/08 17:00:35 (2 years ago)
Author:
horst
Message:

Reverted all unintentional changes

Location:
d-collide/trunk/d-collide
Files:
16 modified

Legend:

Unmodified
Added
Removed
  • d-collide/trunk/d-collide/CMakeLists.txt

    r3374 r3375  
    101101         
    102102        if (CMAKE_C_COMPILER MATCHES "icl") 
    103             #set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise /arch:SSE2 /O3 /Qprefetch /Qipo /Qfp-speculation=safe /Qprec-div- /QxP /Qscalar-rep" ) 
    104             #set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /arch:SSE2 /O3 /Qprefetch /Qipo /Qfp-speculation=safe /Qprec-div- /QxP /Qscalar-rep" ) 
    105             set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise /arch:SSE2 /O3 /Qprefetch /Qipo /Qfp-speculation=safe /Qprec-div- /QxP /Qparallel /Gr /Oi /Qopenmp /Qopt-streaming-stores:auto /Os /Ot /Qglobal-hoist /Qscalar-rep /Qssp /w" ) 
    106             set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /arch:SSE2 /O3 /Qprefetch /Qipo /Qfp-speculation=safe /Qprec-div- /QxP /Qparallel /Gr /Oi /Qopenmp /Qopt-streaming-stores:auto /Os /Ot /Qglobal-hoist /Qscalar-rep /Qssp /w" ) 
     103            #set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall /w2 /Wcheck" ) 
     104            #set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall /w2 /Wcheck" ) 
    107105        endif (CMAKE_C_COMPILER MATCHES "icl") 
    108106         
  • d-collide/trunk/d-collide/testapp/do_benchmark_hack.h

    r3374 r3375  
    3636#define DCOLLIDE_DO_BENCHMARK_HACK_H 
    3737 
    38 #define DCOLLIDE_DO_BENCHMARK_HACK 1 
     38#define DCOLLIDE_DO_BENCHMARK_HACK 0 
    3939 
    4040#endif 
  • d-collide/trunk/d-collide/testapp/gui.cpp

    r3374 r3375  
    201201    const int maxMs = 1000; // we average over maxMs ms 
    202202#else 
    203 #   ifdef __GNUC__ 
    204 #       warning HACK: setRemoveFramesOlderThan() uses large dummy value 
    205 #   endif 
    206  
     203#warning HACK: setRemoveFramesOlderThan() uses large dummy value 
    207204    const int maxMs = 200000000; // we average over maxMs ms 
    208205#endif 
  • d-collide/trunk/d-collide/testapp/modelloader/modelloader3ds.cpp

    r3374 r3375  
    8181    } 
    8282 
    83     MyObjectNode* topObject = new MyObjectNode(topProxy, true, false); 
     83    MyObjectNode* topObject = new MyObjectNode(topProxy); 
    8484    if (!loadNode(topObject)) { 
    8585        std::cerr << dc_funcinfo << "loading " << fileName << " failed" << std::endl; 
     
    102102    node->translate(transformation.translation); 
    103103    node->rotate(transformation.rotation); 
    104 /* 
     104 
    105105    const std::map<dcollide::Proxy*, ModelLoader::TextureInformation>& textureInformation = mLoader->getTextureInformation(); 
    106106    if (textureInformation.find(node->getProxy()) != textureInformation.end()) { 
    107107        node->setTextureInformation((*textureInformation.find(node->getProxy())).second); 
    108108    } 
    109 */ 
     109 
    110110    for (std::list<dcollide::Proxy*>::const_iterator it = node->getProxy()->getChildProxies().begin(); it != node->getProxy()->getChildProxies().end(); ++it) { 
    111111        MyObjectNode* child = new MyObjectNode(*it); 
  • d-collide/trunk/d-collide/testapp/scenes/benchmark/deformable.cpp

    r3374 r3375  
    6060    dcollide::Mesh* meshSphere = dcollide::Sphere(12, 7.5).getMesh()->cloneMesh(); 
    6161 
    62     std::cout << "sphere size: " << meshSphere->getTriangles().size() << std::endl; 
    63  
    6462    MyDeformableObjectNode* sphere = new MyDeformableObjectNode(getCollisionWorld(), 
    6563                                                                meshSphere, 
     
    9593 
    9694    parameters.setDeformableAlgorithms(algorithm); 
    97     parameters.setWorkerThreadCount(8); 
     95    parameters.setWorkerThreadCount(4); 
    9896} 
    9997 
  • d-collide/trunk/d-collide/testapp/scenes/benchmark/mixed.cpp

    r3374 r3375  
    107107 
    108108    parameters.setDeformableAlgorithms(algorithm); 
    109     parameters.setWorkerThreadCount(8); 
     109    parameters.setWorkerThreadCount(4); 
    110110} 
    111111 
  • d-collide/trunk/d-collide/testapp/scenes/benchmark/rigid.cpp

    r3374 r3375  
    7474 
    7575    parameters.setDeformableAlgorithms(algorithm); 
    76     parameters.setWorkerThreadCount(8); 
     76    parameters.setWorkerThreadCount(4); 
    7777} 
    7878 
  • d-collide/trunk/d-collide/testapp/scenes/general/devtest.cpp

    r3374 r3375  
    3737#include "mydeformableobjectnode.h" 
    3838 
    39 #include <modelloader/loaderdummy.h> 
    40  
    4139#include <d-collide/debug.h> 
    4240#include <d-collide/world.h> 
     
    5452 */ 
    5553DevTestScene::DevTestScene(Ogre::Root* root) : SceneBase(root) { 
    56      
    57     tlp_node = 0; 
    58     b1_node  = 0; 
    59     b2_node  = 0; 
    60  
    6154} 
    6255 
     
    7265 
    7366void DevTestScene::addSceneSpecificWorldParameters(dcollide::WorldParameters& parameters) const { 
    74     std::list<dcollide::DeformableAlgorithmType> algorithm; 
    75     algorithm.push_back(dcollide::DEFORMABLE_TYPE_SPATIAL_HASH); 
    76     parameters.setDeformableAlgorithms(algorithm); 
     67 
    7768} 
    7869 
     
    9182 **/ 
    9283bool DevTestScene::initializeScene() { 
    93     return false; 
    94 /* 
    95     dcollide::Proxy* tlp = getCollisionWorld()->createProxy(dcollide::PROXYTYPE_RIGID); 
    96     dcollide::Proxy* b1 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_RIGID); 
    97     dcollide::Proxy* b2 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_RIGID); 
    98  
    99     dcollide::Proxy* h2_tlp = getCollisionWorld()->createProxy(dcollide::PROXYTYPE_RIGID); 
    100     dcollide::Proxy* h2_b1 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_RIGID); 
    101     dcollide::Proxy* h2_b2 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_RIGID); 
    102 */     
    103     dcollide::Proxy* tlp = getCollisionWorld()->createProxy(dcollide::PROXYTYPE_DEFORMABLE); 
    104     dcollide::Proxy* b1 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_DEFORMABLE); 
    105     dcollide::Proxy* b2 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_DEFORMABLE); 
    106  
    107     dcollide::Proxy* h2_tlp = getCollisionWorld()->createProxy(dcollide::PROXYTYPE_DEFORMABLE); 
    108     dcollide::Proxy* h2_b1 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_DEFORMABLE); 
    109     dcollide::Proxy* h2_b2 = getCollisionWorld()->createProxy(dcollide::Box(10.0, 10.0, 10.0).getMesh()->cloneMesh(), dcollide::PROXYTYPE_DEFORMABLE); 
    110  
    111 //    dcollide::Proxy* b1 = getCollisionWorld()->createProxy(new dcollide::Sphere(10.0)); 
    112 //    dcollide::Proxy* b2 = getCollisionWorld()->createProxy(new dcollide::Sphere(10.0)); 
    113  
    114     MyObjectNode* origin = new MyObjectNode(getCollisionWorld(), new dcollide::Sphere(1)); 
    115      
    116     tlp_node = new MyDeformableObjectNode(tlp); 
    117     b1_node  = new MyDeformableObjectNode(b1); 
    118     b2_node  = new MyDeformableObjectNode(b2); 
    119  
    120     h2_tlp_node = new MyDeformableObjectNode(h2_tlp); 
    121     h2_b1_node  = new MyDeformableObjectNode(h2_b1); 
    122     h2_b2_node  = new MyDeformableObjectNode(h2_b2); 
    123 /* 
    124     MyObjectNode* origin = new MyObjectNode(getCollisionWorld(), new dcollide::Sphere(1)); 
    125      
    126     tlp_node = new MyObjectNode(tlp); 
    127     b1_node  = new MyObjectNode(b1); 
    128     b2_node  = new MyObjectNode(b2); 
    129  
    130     h2_tlp_node = new MyObjectNode(h2_tlp); 
    131     h2_b1_node  = new MyObjectNode(h2_b1); 
    132     h2_b2_node  = new MyObjectNode(h2_b2); 
    133   */   
    134      
    135     //b1_node->getProxy()->printDebugOutput(true, "b1_node->Proxy: "); 
    136     origin->printDebugOutput(false, "origin"); 
    137     tlp_node->printDebugOutput(false, "tlp_node"); 
    138     b1_node->printDebugOutput(false, "b1_node"); 
    139     b2_node->printDebugOutput(false, "b2_node"); 
    140      
    141     //tlp_node->printDebugOutput(true, "tlp_node: "); 
    142     //b1_node->printDebugOutput(true, "b1_node: "); 
    143      
    144     tlp_node->addChild(b1_node); 
    145     tlp_node->addChild(b2_node); 
    146  
    147     addTopLevelObject(origin); 
    148     addTopLevelObject(tlp_node); 
    149      
    150     b1_node->translate(0, -100, 0); 
    151     b2_node->translate(0,  -50, 0); 
    152  
    153      
    154     h2_tlp_node->addChild(h2_b1_node); 
    155     h2_tlp_node->addChild(h2_b2_node); 
    156  
    157     addTopLevelObject(h2_tlp_node); 
    158      
    159     h2_b1_node->translate(5, -100, 0); 
    160     h2_b2_node->translate(5,  -50, 0); 
    161  
    162      
    163 /* 
    164     b1_node->translate(0, -100, 0); 
    165     b2_node->translate(0,  -50, 0); 
    166 */ 
    167     //tlp_node->translate(-100, 0, 0); 
    168      
    169      
    170     ModelLoader::LoaderDummy firstLoader; 
    171     dcollide::Mesh* clothMesh = firstLoader.createRectangleSurface(50.0f, 50.0f, 5.0f, 5.0f); 
    172  
    173     mCloth = new MyDeformableObjectNode(getCollisionWorld(), 
    174                                         clothMesh, 
    175                                         dcollide::PROXYTYPE_DEFORMABLE | dcollide::PROXYTYPE_SELFCOLLIDABLE, 
    176                                         false); 
    177  
    178     mCloth->translate(100, -25, 0); 
    179  
    180     addTopLevelObject(mCloth); 
    181      
    182      
    18384    return true; 
    18485} 
     
    202103 */ 
    203104void DevTestScene::startNextSceneFrame() { 
    204      
    205     std::cout << "tlp_node->getTranslation(): " << tlp_node->getTranslation() << std::endl; 
    206     std::cout << "b1_node->getTranslation(): " << b1_node->getTranslation() << std::endl; 
    207     std::cout << "b2_node->getTranslation(): " << b2_node->getTranslation() << std::endl; 
    208  
    209105} 
    210106 
  • d-collide/trunk/d-collide/testapp/scenes/general/devtest.h

    r3374 r3375  
    7878        void restart(); 
    7979        void action(); 
    80        
    81         MyDeformableObjectNode* tlp_node; 
    82         MyDeformableObjectNode* b1_node; 
    83         MyDeformableObjectNode* b2_node; 
    84  
    85         MyDeformableObjectNode* h2_tlp_node; 
    86         MyDeformableObjectNode* h2_b1_node; 
    87         MyDeformableObjectNode* h2_b2_node; 
    88  
    89         MyDeformableObjectNode* mCloth; 
    90 /* 
    91         MyObjectNode* tlp_node; 
    92         MyObjectNode* b1_node; 
    93         MyObjectNode* b2_node; 
    94  
    95         MyObjectNode* h2_tlp_node; 
    96         MyObjectNode* h2_b1_node; 
    97         MyObjectNode* h2_b2_node; 
    98 */ 
    9980 
    10081}; 
  • d-collide/trunk/d-collide/testapp/scenes/physics/hangingclothscene.cpp

    r3374 r3375  
    127127    dJointSetBallAnchor(joint1, position.getX(), position.getY(), position.getZ()); 
    128128 
    129      
    130     //Restrict vertex 100,0 to its position 
     129    //Restrict vertex 10,0 to its position 
    131130    dBodyID body2 = mCloth->getPhysicsBody(10); 
    132131    position.set(clothMesh->getVertices()[10]->getWorldPosition()); 
     
    136135    dJointSetBallAnchor(joint2, position.getX(), position.getY(), position.getZ()); 
    137136 
    138      
    139     //Restrict vertex 0,100 to its position 
     137    //Restrict vertex 0,10 to its position 
    140138    dBodyID body3 = mCloth->getPhysicsBody(110); 
    141139    position.set(clothMesh->getVertices()[110]->getWorldPosition()); 
     
    144142    dJointAttach(joint3, body3, 0); 
    145143    dJointSetBallAnchor(joint3, position.getX(), position.getY(), position.getZ()); 
    146  
    147      
    148     //Restrict vertex 100,100 to its position 
    149     dBodyID body4 = mCloth->getPhysicsBody(120); 
    150     position.set(clothMesh->getVertices()[120]->getWorldPosition()); 
    151      
    152     dJointID joint4 = dJointCreateBall(mOdeWorld, mRestrictionJoints); 
    153     dJointAttach(joint4, body4, 0); 
    154     dJointSetBallAnchor(joint4, position.getX(), position.getY(), position.getZ()); 
    155      
    156144     
    157145    //Sphere falling onto the cloth 
     
    163151    mSphere->createPhysicsBody(mOdeWorld,  1); 
    164152    addTopLevelObject(mSphere); 
    165     //mDampedBodyNodes.push_back(mSphere); 
    166153    mSphere->translate(20,20, 10); 
    167154    const_cast<ModelLoader::TextureInformation&> (mSphere->getTextureInformation()).setTransparent(0.1); 
     
    175162} 
    176163 
    177  
    178 void HangingClothScene::action() { 
    179     double radius = 5; //5+-3 
    180     double posX = 20; 
    181     double posY = 30 + (rand () % 20);  
    182     double posZ = 50 + (rand() % 60); 
    183     //(-90, 20, 220);//-90, [20-70], 220 
    184  
    185     MyObjectNode* marble = new MyObjectNode(getCollisionWorld(), 
    186                              new dcollide::Sphere(radius, 2.0), 
    187                              dcollide::PROXYTYPE_RIGID); 
    188  
    189     marble->createPhysicsBody(mOdeWorld,  4); 
    190  
    191     addTopLevelObject(marble); 
    192     marble->setPosition(posX, posY, posZ); 
    193     //mDampedBodyNodes.push_back(marble); 
    194 } 
    195  
    196164void HangingClothScene::startNextSceneFrame() { 
    197165    //dcollide::debug() << "............. step ............."; 
  • d-collide/trunk/d-collide/testapp/scenes/physics/hangingclothscene.h

    r3374 r3375  
    8282         
    8383        dJointGroupID mRestrictionJoints; 
    84          
    85         virtual void action(); 
    8684}; 
    8785 
  • d-collide/trunk/d-collide/testapp/scenes/physics/marblerun.cpp

    r3374 r3375  
    9898        mRamp->translate(dcollide::Vector3(-100, 50, 0)); 
    9999        */ 
    100 /* 
    101100        MyObjectNode* ramp1 = new MyObjectNode( getCollisionWorld(), 
    102101                                        new dcollide::Box(120, 50, 5), 
     
    115114        ramp2->rotate(-15, 0, 1,0); 
    116115        environment->addChild(ramp2); 
    117 */ 
     116 
    118117        //funnel mesh 
    119118        std::vector<dcollide::Triangle*> triangles; 
    120119        std::vector<dcollide::Vertex*> vertices; 
    121120 
    122         int ringsections = 8; 
    123         double upperRadius = 45; 
    124         double middleRadius= 10; 
     121        int ringsections = 6; 
     122        double upperRadius = 100; 
     123        double middleRadius= 15; 
    125124        double lowerRadius = 2; 
    126125 
     
    128127 
    129128        for (int i = 0; i < ringsections; i++){ 
    130             vertices.push_back(new dcollide::Vertex(cos(i * angleIncrement) * upperRadius, sin(i*angleIncrement) * upperRadius, 70)); 
    131             vertices.push_back(new dcollide::Vertex(cos(i * angleIncrement) * middleRadius, sin(i*angleIncrement) * middleRadius, 10)); 
     129            vertices.push_back(new dcollide::Vertex(cos(i * angleIncrement) * upperRadius, sin(i*angleIncrement) * upperRadius, 50)); 
     130            vertices.push_back(new dcollide::Vertex(cos(i * angleIncrement) * middleRadius, sin(i*angleIncrement) * middleRadius, 0)); 
    132131            vertices.push_back(new dcollide::Vertex(cos(i * angleIncrement) * lowerRadius, sin(i*angleIncrement) * lowerRadius, -40)); 
    133132        } 
     
    147146                                        dcollide::PROXYTYPE_FIXED, 
    148147                                        false); 
    149         funnel->setPosition(0, 0, 0); 
     148        funnel->translate(-50, 0, 50); 
    150149        environment->addChild(funnel); 
    151150 
     
    165164        addTopLevelObject(mMarble1); 
    166165        mDampedBodyNodes.push_back(mMarble1); 
    167 /* 
     166//* 
    168167        //cylinder supposed to roll down the lanes 
    169168        mCylinder = new MyObjectNode(getCollisionWorld(), 
     
    176175        addTopLevelObject(mCylinder); 
    177176        mDampedBodyNodes.push_back(mCylinder); 
    178 */ 
     177// */ 
    179178/* 
    180179        //cone supposed to "roll" down the lanes 
     
    195194    void MarblerunScene::restart() { 
    196195        //set inital positions 
    197         //mCylinder->setPosition(-90, 50, 220); 
    198         //mCylinder->rotate(90,1,0,0); 
     196        mCylinder->setPosition(-90, 50, 220); 
     197        mCylinder->rotate(90,1,0,0); 
    199198   //     mCone->setPosition(-90, 50, 220); 
    200199   //     mCone->rotate(90,1,0,0); 
    201         mMarble1->setPosition(0, 0, 100); 
     200        mMarble1->setPosition(-90, 70, 220); 
    202201 
    203202        //nullify body velocity, accelleration and forces 
    204         //dBodySetForce(mCylinder->getPhysicsBody(), 0,0,0); 
     203        dBodySetForce(mCylinder->getPhysicsBody(), 0,0,0); 
    205204     //   dBodySetForce(mCone->getPhysicsBody(), 0,0,0); 
    206205        dBodySetForce(mMarble1->getPhysicsBody(), 0,0,0); 
    207206 
    208         //dBodySetAngularVel(mCylinder->getPhysicsBody(), 0,0,0); 
     207        dBodySetAngularVel(mCylinder->getPhysicsBody(), 0,0,0); 
    209208     //   dBodySetAngularVel(mCone->getPhysicsBody(), 0,0,0); 
    210209        dBodySetAngularVel(mMarble1->getPhysicsBody(), 0,0,0); 
    211210 
    212         //dBodySetLinearVel(mCylinder->getPhysicsBody(), 0,0,0); 
     211        dBodySetLinearVel(mCylinder->getPhysicsBody(), 0,0,0); 
    213212     //   dBodySetLinearVel(mCone->getPhysicsBody(), 0,0,0); 
    214213        dBodySetLinearVel(mMarble1->getPhysicsBody(), 0,0,0); 
  • d-collide/trunk/d-collide/testapp/scenes/rigid/manymovingboxes.cpp

    r3374 r3375  
    6161 **/ 
    6262bool ManyMovingBoxes::initializeScene() { 
     63    createManyMovingRigidBoxes(0.0f); 
     64    createManyMovingRigidBoxes(7.0f, 2.0f); 
     65    createManyMovingRigidBoxes(15.0f, 5.0f); 
    6366 
    64     createManyMovingRigidBoxes( 250.0f, 250.0f, 250.0f, 
    65                                -1250.0f, -1250.0f, -1250.0f, 
    66                                 1250.0f,  1250.0f, -1250.0f, 
    67                                 50, 50, 50); 
    68  
    69      
    70     createManyMovingRigidBoxes( 750.0f, 750.0f, 750.0f, 
    71                                -1250.0f, -1250.0f, -1250.0f, 
    72                                 1250.0f,  1250.0f,  1250.0f, 
    73                                 25, 25, 25); 
    74     createManyMovingRigidBoxes(  6.25f,  6.25f,    6.25f, 
    75                                -25.00f, -25.00f, -25.00f, 
    76                                 25.00f,  25.00f,  25.00f, 
    77                                  2.50f,   2.50f,   2.50f); 
    78  
    79     createManyMovingRigidBoxes( 4.5f,  4.5f,   4.5f, 
    80                                -100.00f, 25.00f, -10.00f, 
    81                                -80.00f, 50.00f,  35.00f, 
    82                                  2.0f,  2.0f,   2.0f); 
    83  
    84      
    8567    std::cout << dc_funcinfo << "done" << std::endl; 
    8668 
     
    9577 */ 
    9678void ManyMovingBoxes::startNextSceneFrame() { 
    97 /* 
    9879    const float step = 1.0f; 
    9980    float xStep = step; 
     
    11394        mHasMoved = 0.0f; 
    11495    } 
    115 */ 
     96 
    11697} 
    11798 
    118 void ManyMovingBoxes::createManyMovingRigidBoxes(float xOffset, float yOffset, float zOffset, 
    119                                                  float xMin, float yMin, float zMin, 
    120                                                  float xMax, float yMax, float zMax, 
    121                                                  float xSize, float ySize, float zSize) { 
     99void ManyMovingBoxes::createManyMovingRigidBoxes(float xOffset, float yOffset) { 
     100    const float minX = -500.0f; 
     101    const float minY = -500.0f; 
     102    const float maxX = -minX; 
     103    const float maxY = -minY; 
     104    for (float x = minX; x <= maxX; x += 40.0f) { 
     105        for (float y = minY; y <= maxY; y += 50.0f) { 
     106            MyObjectNode* box = 
     107                new MyObjectNode( 
     108                    getCollisionWorld(), 
     109                    //new dcollide::Wedge(10.0, 20.0, 5.0)); 
     110                    //new dcollide::Cylinder(10.0, 25.0)); 
     111                    new dcollide::Box(dcollide::Vector3(10.0, 10.0, 10.0))); 
     112            dcollide::Vector3 translation = dcollide::Vector3(x + xOffset, y + yOffset, 0.0f); 
     113            dcollide::Matrix rot; 
     114            rot.rotate(xOffset, 1,1,1); 
     115            rot.rotate(yOffset, 1,0,0); 
     116            box->rotate(rot); 
    122117 
    123     for (float x = xMin; x <= xMax; x += xOffset) { 
    124         for (float y = yMin; y <= yMax; y += yOffset) { 
    125             for (float z = zMin; z <= zMax; z += zOffset) { 
     118            MyObjectNode* container = new MyObjectNode(getCollisionWorld(), (dcollide::Shape*)0); 
     119            container->addChild(box); 
    126120 
    127                 MyObjectNode* box = 
    128                     new MyObjectNode(getCollisionWorld(), 
    129                                      new dcollide::Box(xSize, ySize, zSize), 
    130                                      dcollide::PROXYTYPE_RIGID, 
    131                                      false, false); 
     121            addTopLevelObject(container); 
     122            container->translate(translation); 
    132123 
    133                 dcollide::Vector3 translation = dcollide::Vector3(x, y, z); 
    134 /* 
    135                 dcollide::Matrix rot; 
    136                 rot.rotate(x, 1,1,1); 
    137                 rot.rotate(y, 1,0,0); 
    138                 box->rotate(rot); 
    139 */ 
    140                 addTopLevelObject(box); 
    141                 box->translate(translation, false); 
    142      
    143                 mMovableObjects.push_back(box); 
    144             } 
     124            mMovableObjects.push_back(container); 
    145125        } 
    146126    } 
  • d-collide/trunk/d-collide/testapp/scenes/rigid/manymovingboxes.h

    r3374 r3375  
    5959        virtual void startNextSceneFrame(); 
    6060 
    61         void createManyMovingRigidBoxes(float xOffset, float yOffset, float zOffset, 
    62                                         float xMin, float yMin, float zMin, 
    63                                         float xMax, float yMax, float zMax, 
    64                                         float xSize, float ySize, float zSize); 
     61        void createManyMovingRigidBoxes(float xOffset = 0.0f, float yOffset = 0.0f); 
    6562 
    6663    private: 
  • d-collide/trunk/d-collide/testapp/scenes/rigid/tworigidhelicopters.cpp

    r3374 r3375  
    6060bool TwoRigidHelicopters::initializeScene() { 
    6161    MyObjectNode* helicopter1 = create3dsModel("puma.3ds"); 
    62     MyObjectNode* helicopter2 = 0;//create3dsModel("puma.3ds"); 
     62    MyObjectNode* helicopter2 = create3dsModel("puma.3ds"); 
    6363    if (helicopter1) { 
    6464        addTopLevelObject(helicopter1); 
  • d-collide/trunk/d-collide/testapp/scenes/scenemanager.cpp

    r3374 r3375  
    7171 
    7272#include "benchmark/mixed.h" 
    73 #include "benchmark/rigid.h" 
    7473#include "benchmark/deformable.h" 
    7574 
     
    107106    mSceneTitles.insert(std::make_pair("deforming",             "Deforming objects          [deforming]")); 
    108107    mSceneTitles.insert(std::make_pair("mixedbenchmark",        "Benchmarking Scene (Mixed) [mixedbenchmark]")); 
    109     mSceneTitles.insert(std::make_pair("rigidbenchmark",        "Benchmarking Scene (Rigid) [rigidbenchmark]")); 
    110108    mSceneTitles.insert(std::make_pair("deformablebenchmark",   "Benchmarking Scene (Deformable) [deformablebenchmark]")); 
    111109 
     
    239237    } else if (id == "mixedbenchmark") { 
    240238        scene = new MixedBenchmark(root); 
    241     } else if (id == "rigidbenchmark") { 
    242         scene = new RigidBenchmark(root); 
    243239    } else if (id == "deformablebenchmark") { 
    244240        scene = new DeformableBenchmark(root);