diff options
Diffstat (limited to 'scene/resources/convex_polygon_shape.cpp')
-rw-r--r-- | scene/resources/convex_polygon_shape.cpp | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/scene/resources/convex_polygon_shape.cpp b/scene/resources/convex_polygon_shape.cpp index 207419f8cd..350c4c2d86 100644 --- a/scene/resources/convex_polygon_shape.cpp +++ b/scene/resources/convex_polygon_shape.cpp @@ -27,46 +27,42 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "convex_polygon_shape.h" -#include "servers/physics_server.h" #include "quick_hull.h" +#include "servers/physics_server.h" Vector<Vector3> ConvexPolygonShape::_gen_debug_mesh_lines() { PoolVector<Vector3> points = get_points(); - if (points.size()>3) { + if (points.size() > 3) { QuickHull qh; Vector<Vector3> varr = Variant(points); Geometry::MeshData md; - Error err = qh.build(varr,md); - if (err==OK) { + Error err = qh.build(varr, md); + if (err == OK) { Vector<Vector3> lines; - lines.resize(md.edges.size()*2); - for(int i=0;i<md.edges.size();i++) { - lines[i*2+0]=md.vertices[md.edges[i].a]; - lines[i*2+1]=md.vertices[md.edges[i].b]; + lines.resize(md.edges.size() * 2); + for (int i = 0; i < md.edges.size(); i++) { + lines[i * 2 + 0] = md.vertices[md.edges[i].a]; + lines[i * 2 + 1] = md.vertices[md.edges[i].b]; } return lines; - - } - } return Vector<Vector3>(); } - void ConvexPolygonShape::_update_shape() { - PhysicsServer::get_singleton()->shape_set_data(get_shape(),points); + PhysicsServer::get_singleton()->shape_set_data(get_shape(), points); emit_changed(); } -void ConvexPolygonShape::set_points(const PoolVector<Vector3>& p_points) { +void ConvexPolygonShape::set_points(const PoolVector<Vector3> &p_points) { - points=p_points; + points = p_points; _update_shape(); notify_change_to_owners(); } @@ -76,17 +72,16 @@ PoolVector<Vector3> ConvexPolygonShape::get_points() const { return points; } - void ConvexPolygonShape::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_points","points"),&ConvexPolygonShape::set_points); - ClassDB::bind_method(D_METHOD("get_points"),&ConvexPolygonShape::get_points); - - ADD_PROPERTY( PropertyInfo(Variant::ARRAY,"points"), "set_points", "get_points") ; + ClassDB::bind_method(D_METHOD("set_points", "points"), &ConvexPolygonShape::set_points); + ClassDB::bind_method(D_METHOD("get_points"), &ConvexPolygonShape::get_points); + ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "points"), "set_points", "get_points"); } -ConvexPolygonShape::ConvexPolygonShape() : Shape( PhysicsServer::get_singleton()->shape_create(PhysicsServer::SHAPE_CONVEX_POLYGON)) { +ConvexPolygonShape::ConvexPolygonShape() + : Shape(PhysicsServer::get_singleton()->shape_create(PhysicsServer::SHAPE_CONVEX_POLYGON)) { //set_points(Vector3(1,1,1)); } |