예제 #1
0
    void display()
    {
            SDL_FillRect(screen,NULL,0);
            b2Body* tmp=world->GetBodyList();
            b2Vec2 points[4];
            while(tmp)
            {
                    for(int i=0;i<4;i++)
                    {
                            points[i]=((b2PolygonShape*)tmp->GetFixtureList()->GetShape())->GetVertex(i);
                            rotateTranslate(points[i],tmp->GetWorldCenter(),tmp->GetAngle());
                    }
                    char* usr1 = static_cast<char*>(tmp->GetFixtureList()->GetBody()->GetUserData());
                    if (std::string(usr1).compare("cuadrado") == 0)
//                        printf("[%f, %f][%f, %f][%f, %f][%f, %f]\n", points[0].x, points[0].y, points[1].x, points[1].y, points[2].x, points[2].y, points[3].x, points[3].y );
                
                    drawSquare(points,tmp->GetWorldCenter(),tmp->GetAngle());
                    tmp=tmp->GetNext();
            }
    }
예제 #2
0
파일: coreskeleton.cpp 프로젝트: imvu/cal3d
void CalCoreSkeleton::rotate(CalQuaternion &rot) {
    cal3d::RotateTranslate rt(rot, CalVector(0, 0, 0));
    rotateTranslate(rt);
}