Ignore:
Timestamp:
Aug 31, 2012, 8:38:06 AM (9 years ago)
Author:
touky
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/BtPhysTest.cpp

    r1834 r1844  
    5656#define USE_ROTATION    0
    5757#define USE_CHARACTER   1
     58#define USE_STAIRS              1
    5859
    5960#define IPT_MOVE_FORWARD                "Move_Forward"
     
    9192        float offset = 29.5f;
    9293        vec3 pos_offset = vec3(.0f, 30.f, .0f);
     94        if (USE_STAIRS)
     95        {
     96                vec3 new_offset = vec3(1.0f, .125f, .0f);
     97                quat NewRotation = quat::fromeuler_xyz(0.f, 0.f, 0.f);
     98                vec3 NewPosition = pos_offset + vec3(5.0f, -29.f, 15.0f);
     99                {
     100                        NewRotation = quat::fromeuler_xyz(0.f, 0.f, 30.f);
     101                        NewPosition += vec3(4.0f, .0f, -4.0f);
     102
     103                        PhysicsObject* NewPhyobj = new PhysicsObject(m_simulation, NewPosition, NewRotation, 3);
     104                        Ticker::Ref(NewPhyobj);
     105                        m_stairs_list << NewPhyobj;
     106                }
     107                {
     108                        NewRotation = quat::fromeuler_xyz(0.f, 0.f, 40.f);
     109                        NewPosition += vec3(4.0f, .0f, -4.0f);
     110
     111                        PhysicsObject* NewPhyobj = new PhysicsObject(m_simulation, NewPosition, NewRotation, 3);
     112                        Ticker::Ref(NewPhyobj);
     113                        m_stairs_list << NewPhyobj;
     114                }
     115                NewPosition = pos_offset + vec3(5.0f, -29.5f, 15.0f);
     116                NewRotation = quat::fromeuler_xyz(0.f, 0.f, 0.f);
     117                for (int i=0; i < 15; i++)
     118                {
     119                        NewPosition += new_offset;
     120
     121                        PhysicsObject* NewPhyobj = new PhysicsObject(m_simulation, NewPosition, NewRotation, 3);
     122                        Ticker::Ref(NewPhyobj);
     123                        m_stairs_list << NewPhyobj;
     124                }
     125        }
     126
    93127        if (USE_WALL)
    94128        {
     
    164198        {
    165199                quat NewRotation = quat::fromeuler_xyz(0.f, 0.f, 0.f);
    166                 vec3 NewPosition = pos_offset + vec3(-15.0f, -10.0f, .0f);
     200                vec3 NewPosition = pos_offset + vec3(-5.0f, -10.0f, 15.0f);
    167201
    168202                PhysicsObject* NewPhyobj = new PhysicsObject(m_simulation, NewPosition, NewRotation, 2);
     
    408442                Ticker::Unref(CurPop);
    409443        }
     444        while (m_stairs_list.Count())
     445        {
     446                PhysicsObject* CurPop = m_stairs_list.Last();
     447                m_stairs_list.Pop();
     448                CurPop->GetPhysic()->RemoveFromSimulation(m_simulation);
     449                Ticker::Unref(CurPop);
     450        }
    410451        while (m_character_list.Count())
    411452        {
Note: See TracChangeset for help on using the changeset viewer.