void gosFX::Curve::Save(Stuff::MemoryStream* stream) { Check_Object(this); switch(m_type) { case e_ComplexLinearType: { SeededCurveOf<ComplexCurve, LinearCurve, Curve::e_ComplexLinearType>* SCurve = (SeededCurveOf<ComplexCurve, LinearCurve, Curve::e_ComplexLinearType>*)this; SCurve->Save(stream); } break; case e_ComplexComplexType: { SeededCurveOf<ComplexCurve, ComplexCurve, e_ComplexComplexType>* SCurve = (SeededCurveOf<ComplexCurve, ComplexCurve, e_ComplexComplexType>*)this; SCurve->Save(stream); } break; case e_ComplexSplineType: { SeededCurveOf<ComplexCurve, SplineCurve, e_ComplexSplineType>* SCurve = (SeededCurveOf<ComplexCurve, SplineCurve, e_ComplexSplineType>*)this; SCurve->Save(stream); } break; case e_ConstantComplexType: { SeededCurveOf<ConstantCurve, ComplexCurve, e_ConstantComplexType>* SCurve = (SeededCurveOf<ConstantCurve, ComplexCurve, e_ConstantComplexType>*)this; SCurve->Save(stream); } break; case e_ConstantLinearType: { SeededCurveOf<ConstantCurve, LinearCurve, e_ConstantLinearType>* SCurve = (SeededCurveOf<ConstantCurve, LinearCurve, e_ConstantLinearType>*)this; SCurve->Save(stream); } break; case e_ConstantSplineType: { SeededCurveOf<ConstantCurve, SplineCurve, e_ConstantSplineType>* SCurve = (SeededCurveOf<ConstantCurve, SplineCurve, e_ConstantSplineType>*)this; SCurve->Save(stream); } break; case e_SplineLinearType: { SeededCurveOf<SplineCurve, LinearCurve, e_SplineLinearType>* SCurve = (SeededCurveOf<SplineCurve, LinearCurve, e_SplineLinearType>*)this; SCurve->Save(stream); } break; case e_SplineSplineType: { SeededCurveOf<SplineCurve, SplineCurve, e_SplineSplineType>* SCurve = (SeededCurveOf<SplineCurve, SplineCurve, e_SplineSplineType>*)this; SCurve->Save(stream); } break; default: break; } }