2013-06-05 1 views
0

У меня есть форма многоугольника в Box2D. Форма представляет собой треугольник, который я ожидаю иметь 3 вершины. На самом деле все созданные мной фигуры будут выводить 8 вершин. Почему это? И если я выводя количество вершин, это всегда правильная сумма. Я не хочу выводить ненужные строки, я бы хотел получить данные вершин из формы.Вершины Box2D в фигурах

@Override 
public void setShape(Vec2[] vector) { 
    // TODO Auto-generated method stub 
    super.setShape(vector); 

    //A NEW SHAPE 
    shape = new PolygonShape(); 

    //THE TRIANGLES VECTORS 
    Vec2[] vec = new Vec2[3]; 
    vec[0] = new Vec2(10, 0); 
    vec[1] = new Vec2(0, 10); 
    vec[2] = new Vec2(0, 0); 

    //SET THE VERTICES 
    shape.set(vec, vec.length); 

} 

@Override 
public void render() { 
    // TODO Auto-generated method stub 
    super.render(); 

    //GET THE VERTICES 
    Vec2[] vector = shape.m_vertices; 

    System.out.print("\n" + "Vertices: " + vector.length); 

} 

всегда будет выводить 8. Почему?

ответ

1

Полигон представлен в исходном коде C++ с фиксированным числом из 8 вершин, возможно, по соображениям производительности. вы видите следствие этого.

Фактическое количество вершин отслеживается, поэтому просто используйте это для рендеринга.