summaryrefslogtreecommitdiff
path: root/scene/resources/curve.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/curve.cpp')
-rw-r--r--scene/resources/curve.cpp168
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");
*/
}