diff options
Diffstat (limited to 'scene/resources/curve.cpp')
-rw-r--r-- | scene/resources/curve.cpp | 168 |
1 files changed, 84 insertions, 84 deletions
diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp index e201cb16ac..9311ab4dd7 100644 --- a/scene/resources/curve.cpp +++ b/scene/resources/curve.cpp @@ -349,30 +349,30 @@ Vector2Array Curve2D::get_points_pos() const { void Curve2D::_bind_methods() { - ClassDB::bind_method(_MD("get_point_count"),&Curve2D::get_point_count); - ClassDB::bind_method(_MD("add_point","pos","in","out"),&Curve2D::add_point,DEFVAL(Vector2()),DEFVAL(Vector2())); - ClassDB::bind_method(_MD("set_point_pos","idx","pos"),&Curve2D::set_point_pos); - ClassDB::bind_method(_MD("get_point_pos","idx"),&Curve2D::get_point_pos); - ClassDB::bind_method(_MD("set_point_in","idx","pos"),&Curve2D::set_point_in); - ClassDB::bind_method(_MD("get_point_in","idx"),&Curve2D::get_point_in); - ClassDB::bind_method(_MD("set_point_out","idx","pos"),&Curve2D::set_point_out); - ClassDB::bind_method(_MD("get_point_out","idx"),&Curve2D::get_point_out); - ClassDB::bind_method(_MD("remove_point","idx"),&Curve2D::remove_point); - ClassDB::bind_method(_MD("interpolate","idx","t"),&Curve2D::interpolate); - ClassDB::bind_method(_MD("bake","subdivs"),&Curve2D::bake,DEFVAL(10)); + ClassDB::bind_method(D_METHOD("get_point_count"),&Curve2D::get_point_count); + ClassDB::bind_method(D_METHOD("add_point","pos","in","out"),&Curve2D::add_point,DEFVAL(Vector2()),DEFVAL(Vector2())); + ClassDB::bind_method(D_METHOD("set_point_pos","idx","pos"),&Curve2D::set_point_pos); + ClassDB::bind_method(D_METHOD("get_point_pos","idx"),&Curve2D::get_point_pos); + ClassDB::bind_method(D_METHOD("set_point_in","idx","pos"),&Curve2D::set_point_in); + ClassDB::bind_method(D_METHOD("get_point_in","idx"),&Curve2D::get_point_in); + ClassDB::bind_method(D_METHOD("set_point_out","idx","pos"),&Curve2D::set_point_out); + ClassDB::bind_method(D_METHOD("get_point_out","idx"),&Curve2D::get_point_out); + ClassDB::bind_method(D_METHOD("remove_point","idx"),&Curve2D::remove_point); + ClassDB::bind_method(D_METHOD("interpolate","idx","t"),&Curve2D::interpolate); + ClassDB::bind_method(D_METHOD("bake","subdivs"),&Curve2D::bake,DEFVAL(10)); - ClassDB::bind_method(_MD("set_points_in"),&Curve2D::set_points_in); - ClassDB::bind_method(_MD("set_points_out"),&Curve2D::set_points_out); - ClassDB::bind_method(_MD("set_points_pos"),&Curve2D::set_points_pos); + ClassDB::bind_method(D_METHOD("set_points_in"),&Curve2D::set_points_in); + ClassDB::bind_method(D_METHOD("set_points_out"),&Curve2D::set_points_out); + ClassDB::bind_method(D_METHOD("set_points_pos"),&Curve2D::set_points_pos); - ClassDB::bind_method(_MD("get_points_in"),&Curve2D::get_points_in); - ClassDB::bind_method(_MD("get_points_out"),&Curve2D::get_points_out); - ClassDB::bind_method(_MD("get_points_pos"),&Curve2D::get_points_pos); + ClassDB::bind_method(D_METHOD("get_points_in"),&Curve2D::get_points_in); + ClassDB::bind_method(D_METHOD("get_points_out"),&Curve2D::get_points_out); + ClassDB::bind_method(D_METHOD("get_points_pos"),&Curve2D::get_points_pos); - ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_in"), _SCS("set_points_in"),_SCS("get_points_in")); - ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_out"), _SCS("set_points_out"),_SCS("get_points_out")); - ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_pos"), _SCS("set_points_pos"),_SCS("get_points_pos")); + ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_in"), "set_points_in","get_points_in"); + ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_out"), "set_points_out","get_points_out"); + ADD_PROPERTY( PropertyInfo( Variant::VECTOR2_ARRAY, "points_pos"), "set_points_pos","get_points_pos"); } @@ -498,7 +498,7 @@ Vector2 Curve2D::interpolatef(real_t p_findex) const { else if (p_findex>=points.size()) p_findex=points.size(); - return interpolate((int)p_findex,Math::fmod(p_findex,1.0)); + return interpolate((int)p_findex,Math::fmod(p_findex,(real_t)1.0)); } @@ -653,7 +653,7 @@ Vector2 Curve2D::interpolate_baked(float p_offset,bool p_cubic) const{ return r[bpc-1]; int idx = Math::floor((double)p_offset/(double)bake_interval); - float frac = Math::fmod(p_offset,bake_interval); + float frac = Math::fmod(p_offset,(float)bake_interval); if (idx>=bpc-1) { return r[bpc-1]; @@ -789,35 +789,35 @@ PoolVector2Array Curve2D::tesselate(int p_max_stages,float p_tolerance) const { void Curve2D::_bind_methods() { - ClassDB::bind_method(_MD("get_point_count"),&Curve2D::get_point_count); - ClassDB::bind_method(_MD("add_point","pos","in","out","atpos"),&Curve2D::add_point,DEFVAL(Vector2()),DEFVAL(Vector2()),DEFVAL(-1)); - ClassDB::bind_method(_MD("set_point_pos","idx","pos"),&Curve2D::set_point_pos); - ClassDB::bind_method(_MD("get_point_pos","idx"),&Curve2D::get_point_pos); - ClassDB::bind_method(_MD("set_point_in","idx","pos"),&Curve2D::set_point_in); - ClassDB::bind_method(_MD("get_point_in","idx"),&Curve2D::get_point_in); - ClassDB::bind_method(_MD("set_point_out","idx","pos"),&Curve2D::set_point_out); - ClassDB::bind_method(_MD("get_point_out","idx"),&Curve2D::get_point_out); - ClassDB::bind_method(_MD("remove_point","idx"),&Curve2D::remove_point); - ClassDB::bind_method(_MD("clear_points"),&Curve2D::clear_points); - ClassDB::bind_method(_MD("interpolate","idx","t"),&Curve2D::interpolate); - ClassDB::bind_method(_MD("interpolatef","fofs"),&Curve2D::interpolatef); - //ClassDB::bind_method(_MD("bake","subdivs"),&Curve2D::bake,DEFVAL(10)); - ClassDB::bind_method(_MD("set_bake_interval","distance"),&Curve2D::set_bake_interval); - ClassDB::bind_method(_MD("get_bake_interval"),&Curve2D::get_bake_interval); - - ClassDB::bind_method(_MD("get_baked_length"),&Curve2D::get_baked_length); - ClassDB::bind_method(_MD("interpolate_baked","offset","cubic"),&Curve2D::interpolate_baked,DEFVAL(false)); - ClassDB::bind_method(_MD("get_baked_points"),&Curve2D::get_baked_points); - ClassDB::bind_method(_MD("tesselate","max_stages","tolerance_degrees"),&Curve2D::tesselate,DEFVAL(5),DEFVAL(4)); - - ClassDB::bind_method(_MD("_get_data"),&Curve2D::_get_data); - ClassDB::bind_method(_MD("_set_data"),&Curve2D::_set_data); - - - ADD_PROPERTY( PropertyInfo( Variant::REAL, "bake_interval",PROPERTY_HINT_RANGE,"0.01,512,0.01"), _SCS("set_bake_interval"),_SCS("get_bake_interval")); - ADD_PROPERTY( PropertyInfo( Variant::INT, "_data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), _SCS("_set_data"),_SCS("_get_data")); - /*ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_out"), _SCS("set_points_out"),_SCS("get_points_out")); - ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_pos"), _SCS("set_points_pos"),_SCS("get_points_pos")); + ClassDB::bind_method(D_METHOD("get_point_count"),&Curve2D::get_point_count); + ClassDB::bind_method(D_METHOD("add_point","pos","in","out","atpos"),&Curve2D::add_point,DEFVAL(Vector2()),DEFVAL(Vector2()),DEFVAL(-1)); + ClassDB::bind_method(D_METHOD("set_point_pos","idx","pos"),&Curve2D::set_point_pos); + ClassDB::bind_method(D_METHOD("get_point_pos","idx"),&Curve2D::get_point_pos); + ClassDB::bind_method(D_METHOD("set_point_in","idx","pos"),&Curve2D::set_point_in); + ClassDB::bind_method(D_METHOD("get_point_in","idx"),&Curve2D::get_point_in); + ClassDB::bind_method(D_METHOD("set_point_out","idx","pos"),&Curve2D::set_point_out); + ClassDB::bind_method(D_METHOD("get_point_out","idx"),&Curve2D::get_point_out); + ClassDB::bind_method(D_METHOD("remove_point","idx"),&Curve2D::remove_point); + ClassDB::bind_method(D_METHOD("clear_points"),&Curve2D::clear_points); + ClassDB::bind_method(D_METHOD("interpolate","idx","t"),&Curve2D::interpolate); + ClassDB::bind_method(D_METHOD("interpolatef","fofs"),&Curve2D::interpolatef); + //ClassDB::bind_method(D_METHOD("bake","subdivs"),&Curve2D::bake,DEFVAL(10)); + ClassDB::bind_method(D_METHOD("set_bake_interval","distance"),&Curve2D::set_bake_interval); + ClassDB::bind_method(D_METHOD("get_bake_interval"),&Curve2D::get_bake_interval); + + ClassDB::bind_method(D_METHOD("get_baked_length"),&Curve2D::get_baked_length); + ClassDB::bind_method(D_METHOD("interpolate_baked","offset","cubic"),&Curve2D::interpolate_baked,DEFVAL(false)); + ClassDB::bind_method(D_METHOD("get_baked_points"),&Curve2D::get_baked_points); + ClassDB::bind_method(D_METHOD("tesselate","max_stages","tolerance_degrees"),&Curve2D::tesselate,DEFVAL(5),DEFVAL(4)); + + ClassDB::bind_method(D_METHOD("_get_data"),&Curve2D::_get_data); + ClassDB::bind_method(D_METHOD("_set_data"),&Curve2D::_set_data); + + + ADD_PROPERTY( PropertyInfo( Variant::REAL, "bake_interval",PROPERTY_HINT_RANGE,"0.01,512,0.01"), "set_bake_interval","get_bake_interval"); + ADD_PROPERTY( PropertyInfo( Variant::INT, "_data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), "_set_data","_get_data"); + /*ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_out"), "set_points_out","get_points_out"); + ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_pos"), "set_points_pos","get_points_pos"); */ } @@ -974,7 +974,7 @@ Vector3 Curve3D::interpolatef(real_t p_findex) const { else if (p_findex>=points.size()) p_findex=points.size(); - return interpolate((int)p_findex,Math::fmod(p_findex,1.0)); + return interpolate((int)p_findex,Math::fmod(p_findex,(real_t)1.0)); } @@ -1329,38 +1329,38 @@ PoolVector3Array Curve3D::tesselate(int p_max_stages,float p_tolerance) const { void Curve3D::_bind_methods() { - ClassDB::bind_method(_MD("get_point_count"),&Curve3D::get_point_count); - ClassDB::bind_method(_MD("add_point","pos","in","out","atpos"),&Curve3D::add_point,DEFVAL(Vector3()),DEFVAL(Vector3()),DEFVAL(-1)); - ClassDB::bind_method(_MD("set_point_pos","idx","pos"),&Curve3D::set_point_pos); - ClassDB::bind_method(_MD("get_point_pos","idx"),&Curve3D::get_point_pos); - ClassDB::bind_method(_MD("set_point_tilt","idx","tilt"),&Curve3D::set_point_tilt); - ClassDB::bind_method(_MD("get_point_tilt","idx"),&Curve3D::get_point_tilt); - ClassDB::bind_method(_MD("set_point_in","idx","pos"),&Curve3D::set_point_in); - ClassDB::bind_method(_MD("get_point_in","idx"),&Curve3D::get_point_in); - ClassDB::bind_method(_MD("set_point_out","idx","pos"),&Curve3D::set_point_out); - ClassDB::bind_method(_MD("get_point_out","idx"),&Curve3D::get_point_out); - ClassDB::bind_method(_MD("remove_point","idx"),&Curve3D::remove_point); - ClassDB::bind_method(_MD("clear_points"),&Curve3D::clear_points); - ClassDB::bind_method(_MD("interpolate","idx","t"),&Curve3D::interpolate); - ClassDB::bind_method(_MD("interpolatef","fofs"),&Curve3D::interpolatef); - //ClassDB::bind_method(_MD("bake","subdivs"),&Curve3D::bake,DEFVAL(10)); - ClassDB::bind_method(_MD("set_bake_interval","distance"),&Curve3D::set_bake_interval); - ClassDB::bind_method(_MD("get_bake_interval"),&Curve3D::get_bake_interval); - - ClassDB::bind_method(_MD("get_baked_length"),&Curve3D::get_baked_length); - ClassDB::bind_method(_MD("interpolate_baked","offset","cubic"),&Curve3D::interpolate_baked,DEFVAL(false)); - ClassDB::bind_method(_MD("get_baked_points"),&Curve3D::get_baked_points); - ClassDB::bind_method(_MD("get_baked_tilts"),&Curve3D::get_baked_tilts); - ClassDB::bind_method(_MD("tesselate","max_stages","tolerance_degrees"),&Curve3D::tesselate,DEFVAL(5),DEFVAL(4)); - - ClassDB::bind_method(_MD("_get_data"),&Curve3D::_get_data); - ClassDB::bind_method(_MD("_set_data"),&Curve3D::_set_data); - - - ADD_PROPERTY( PropertyInfo( Variant::REAL, "bake_interval",PROPERTY_HINT_RANGE,"0.01,512,0.01"), _SCS("set_bake_interval"),_SCS("get_bake_interval")); - ADD_PROPERTY( PropertyInfo( Variant::INT, "_data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), _SCS("_set_data"),_SCS("_get_data")); - /*ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_out"), _SCS("set_points_out"),_SCS("get_points_out")); - ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_pos"), _SCS("set_points_pos"),_SCS("get_points_pos")); + ClassDB::bind_method(D_METHOD("get_point_count"),&Curve3D::get_point_count); + ClassDB::bind_method(D_METHOD("add_point","pos","in","out","atpos"),&Curve3D::add_point,DEFVAL(Vector3()),DEFVAL(Vector3()),DEFVAL(-1)); + ClassDB::bind_method(D_METHOD("set_point_pos","idx","pos"),&Curve3D::set_point_pos); + ClassDB::bind_method(D_METHOD("get_point_pos","idx"),&Curve3D::get_point_pos); + ClassDB::bind_method(D_METHOD("set_point_tilt","idx","tilt"),&Curve3D::set_point_tilt); + ClassDB::bind_method(D_METHOD("get_point_tilt","idx"),&Curve3D::get_point_tilt); + ClassDB::bind_method(D_METHOD("set_point_in","idx","pos"),&Curve3D::set_point_in); + ClassDB::bind_method(D_METHOD("get_point_in","idx"),&Curve3D::get_point_in); + ClassDB::bind_method(D_METHOD("set_point_out","idx","pos"),&Curve3D::set_point_out); + ClassDB::bind_method(D_METHOD("get_point_out","idx"),&Curve3D::get_point_out); + ClassDB::bind_method(D_METHOD("remove_point","idx"),&Curve3D::remove_point); + ClassDB::bind_method(D_METHOD("clear_points"),&Curve3D::clear_points); + ClassDB::bind_method(D_METHOD("interpolate","idx","t"),&Curve3D::interpolate); + ClassDB::bind_method(D_METHOD("interpolatef","fofs"),&Curve3D::interpolatef); + //ClassDB::bind_method(D_METHOD("bake","subdivs"),&Curve3D::bake,DEFVAL(10)); + ClassDB::bind_method(D_METHOD("set_bake_interval","distance"),&Curve3D::set_bake_interval); + ClassDB::bind_method(D_METHOD("get_bake_interval"),&Curve3D::get_bake_interval); + + ClassDB::bind_method(D_METHOD("get_baked_length"),&Curve3D::get_baked_length); + ClassDB::bind_method(D_METHOD("interpolate_baked","offset","cubic"),&Curve3D::interpolate_baked,DEFVAL(false)); + ClassDB::bind_method(D_METHOD("get_baked_points"),&Curve3D::get_baked_points); + ClassDB::bind_method(D_METHOD("get_baked_tilts"),&Curve3D::get_baked_tilts); + ClassDB::bind_method(D_METHOD("tesselate","max_stages","tolerance_degrees"),&Curve3D::tesselate,DEFVAL(5),DEFVAL(4)); + + ClassDB::bind_method(D_METHOD("_get_data"),&Curve3D::_get_data); + ClassDB::bind_method(D_METHOD("_set_data"),&Curve3D::_set_data); + + + ADD_PROPERTY( PropertyInfo( Variant::REAL, "bake_interval",PROPERTY_HINT_RANGE,"0.01,512,0.01"), "set_bake_interval","get_bake_interval"); + ADD_PROPERTY( PropertyInfo( Variant::INT, "_data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR), "_set_data","_get_data"); + /*ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_out"), "set_points_out","get_points_out"); + ADD_PROPERTY( PropertyInfo( Variant::VECTOR3_ARRAY, "points_pos"), "set_points_pos","get_points_pos"); */ } |