CONTAINER Omospline

{

	NAME		Omospline;

	INCLUDE Obase;



	GROUP		ID_OBJECTPROPERTIES

	{

		LONG MGMOSPLINEOBJECT_MODE

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_MODE_BASIC;

				MGMOSPLINEOBJECT_MODE_SPLINE;

				MGMOSPLINEOBJECT_MODE_TURTLE;

			}

		}

		

		SEPARATOR { LINE; }

		

		LONG MGMOSPLINEOBJECT_GROWMODE

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_GROWMODE_ALL;

				MGMOSPLINEOBJECT_GROWMODE_SEPARATE;

			}

		}



		REAL	MGMOSPLINEOBJECT_GROWTH_START

		{

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			STEP 0.1;

			UNIT PERCENT;

			CUSTOMGUI REALSLIDER;

		}

		

		REAL	MGMOSPLINEOBJECT_GROWTH_END

		{

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			STEP 0.1;

			UNIT PERCENT;

			CUSTOMGUI REALSLIDER;

		}

		

		REAL	MGMOSPLINEOBJECT_GROWTH_OFFSET

		{

			MINSLIDER -100.0;

			MAXSLIDER 100.0;

			STEP 0.1;

			UNIT PERCENT;

			CUSTOMGUI REALSLIDER;

		}

	

		SEPARATOR { LINE; }

		

		GROUP

		{

			LAYOUTGROUP;

			COLUMNS 2;

			SCALE_V;

			

			GROUP

			{

				BOOL MGMOSPLINEOBJECT_EXTEND_EXTEND_START

				{

					PARENTCOLLAPSE;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_CURVE_START

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_START;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_SCALE_START

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_START;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_SPIRAL_START

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_START;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_STEP_START

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_START;

					FIT_H;

				}



				

				BOOL MGMOSPLINEOBJECT_EXTEND_SMOOTHED_START { PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_START; }

			}

		

			GROUP

			{

				BOOL MGMOSPLINEOBJECT_EXTEND_EXTEND_END

				{

					PARENTCOLLAPSE;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_CURVE_END

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_END;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_SCALE_END

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_END;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_SPIRAL_END

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_END;

					FIT_H;

				}

				

				REAL	MGMOSPLINEOBJECT_EXTEND_STEP_END

				{

					MINSLIDER 0.0;

					MAXSLIDER 100.0;

					STEP 0.1;

					UNIT PERCENT;

					CUSTOMGUI REALSLIDER;

					PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_END;

					FIT_H;

				}

				

				BOOL MGMOSPLINEOBJECT_EXTEND_SMOOTHED_END { PARENTCOLLAPSE MGMOSPLINEOBJECT_EXTEND_EXTEND_END; }

			}

		}

		

		SEPARATOR { LINE; }

	

		LINK MGMOSPLINEOBJECT_DEST_SPLINE

		{

			ACCEPT { Ospline; }

		}

		LINK MGMOSPLINEOBJECT_DEST_RAILX

		{

			ACCEPT { Ospline; }

		}

		LINK MGMOSPLINEOBJECT_DEST_RAILY

		{

			ACCEPT { Ospline; }

		}

		LINK MGMOSPLINEOBJECT_DEST_POLY

		{

			ACCEPT { Opolygon; }

		}

		

		SEPARATOR { LINE; }

		

		LONG MGMOSPLINEOBJECT_DISPLAYMODE

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_DISPLAYMODE_LINE;

				MGMOSPLINEOBJECT_DISPLAYMODE_2LINE;

				MGMOSPLINEOBJECT_DISPLAYMODE_SHAPE;

			}

		}

	}

		

	GROUP MGMOSPLINEOBJECT_GROUP_BASIC

	{	

		REAL	MGMOSPLINEOBJECT_LENGTH

		{

			MIN 0.0;

			MAXSLIDER 1000.0;

			UNIT METER;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_LENGTH_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_LENGTH; 

		}

		STRING MGMOSPLINEOBJECT_LENGTH_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_LENGTH; 

		}

		

		LONG MGMOSPLINEOBJECT_STEPS { MIN 2; MAXSLIDER 200; }

		

		LONG MGMOSPLINEOBJECT_SEGMENTS

		{

			MIN 1;

			MAXSLIDER 100;

			CUSTOMGUI LONGSLIDER;

		}

		

		REAL MGMOSPLINEOBJECT_ANGLE_H

		{

			UNIT DEGREE;

			MINSLIDER 0.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_ANGLE_H_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_H; 

		}

		STRING MGMOSPLINEOBJECT_ANGLE_H_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_H; 

		}

		

		REAL MGMOSPLINEOBJECT_ANGLE_P

		{

			UNIT DEGREE;

			MINSLIDER 0.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_ANGLE_P_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_P; 

		}

		STRING MGMOSPLINEOBJECT_ANGLE_P_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_P; 

		}

		

		REAL MGMOSPLINEOBJECT_ANGLE_B

		{

			UNIT DEGREE;

			MINSLIDER 0.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_ANGLE_B_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_B; 

		}

		STRING MGMOSPLINEOBJECT_ANGLE_B_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_ANGLE_B; 

		}

		

		SEPARATOR { LINE; }		

		

		LONG MGMOSPLINEOBJECT_CURVATURE_ORDER

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_CURVATURE_ORDER_YXZ;

				MGMOSPLINEOBJECT_CURVATURE_ORDER_YZX;

				MGMOSPLINEOBJECT_CURVATURE_ORDER_ZYX;

				MGMOSPLINEOBJECT_CURVATURE_ORDER_ZXY;

				MGMOSPLINEOBJECT_CURVATURE_ORDER_XZY;

				MGMOSPLINEOBJECT_CURVATURE_ORDER_XYZ;

			}

			HIDDEN;

		}

			

		REAL MGMOSPLINEOBJECT_CURVE

		{

			UNIT DEGREE;

			MINSLIDER -360.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		

		SPLINE MGMOSPLINEOBJECT_CURVE_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE; 

		}

		STRING MGMOSPLINEOBJECT_CURVE_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE; 

		}

		REAL MGMOSPLINEOBJECT_CURVE_STRENGTHMIN

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE;

		}

		REAL MGMOSPLINEOBJECT_CURVE_STRENGTHMAX

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE;

		}



		GROUP

		{

			COLUMNS 2;

			BOOL MGMOSPLINEOBJECT_CURVE_MAINTAIN

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE; 

			}

			BOOL MGMOSPLINEOBJECT_CURVE_GLOBAL

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE; 

			}

			PARENTCOLLAPSE MGMOSPLINEOBJECT_CURVE; 

		}

		

		REAL MGMOSPLINEOBJECT_BEND

		{

			UNIT DEGREE;

			MINSLIDER -360.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}



		SPLINE MGMOSPLINEOBJECT_BEND_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND; 

		}	

		STRING MGMOSPLINEOBJECT_BEND_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND;

		}

		REAL MGMOSPLINEOBJECT_BEND_STRENGTHMIN

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND;

		}

		REAL MGMOSPLINEOBJECT_BEND_STRENGTHMAX

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND;

		}

		

		GROUP

		{

			COLUMNS 2;

			

			BOOL MGMOSPLINEOBJECT_BEND_MAINTAIN

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND; 

			}

			BOOL MGMOSPLINEOBJECT_BEND_GLOBAL

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND; 

			}

			PARENTCOLLAPSE MGMOSPLINEOBJECT_BEND; 

		}

		

		REAL MGMOSPLINEOBJECT_TWIST

		{

			UNIT DEGREE;

			MINSLIDER -360.0;

			MAXSLIDER 360.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

	

		SPLINE MGMOSPLINEOBJECT_TWIST_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST; 

		}	

		STRING MGMOSPLINEOBJECT_TWIST_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST; 

		}

		REAL MGMOSPLINEOBJECT_TWIST_STRENGTHMIN

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST;

		}

		REAL MGMOSPLINEOBJECT_TWIST_STRENGTHMAX

		{

			UNIT PERCENT;

			MINSLIDER 0.0;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST;

		}

		GROUP

		{

			COLUMNS 2;

			BOOL MGMOSPLINEOBJECT_TWIST_MAINTAIN

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST; 

			}

			BOOL MGMOSPLINEOBJECT_TWIST_GLOBAL

			{

				PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST; 

			}

			PARENTCOLLAPSE MGMOSPLINEOBJECT_TWIST; 

		}



		SEPARATOR { LINE; }

		

		REAL MGMOSPLINEOBJECT_WIDTH

		{

			UNIT METER;

			STEP 0.01;

			MINSLIDER 0.001;

			MAXSLIDER 100.0;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_WIDTH_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_WIDTH; 

		}

		STRING MGMOSPLINEOBJECT_WIDTH_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_WIDTH; 

		}

	}

	

	GROUP MGMOSPLINEOBJECT_TURTLE_GROUP_TURTLE

	{

		DEFAULT 1;

		SCALE_V;

		

		STRING MGMOSPLINEOBJECT_TURTLE { }



		SEPARATOR { LINE; }



		STRING MGMOSPLINEOBJECT_TURTLE_CONTEXT_IGNORE { }



		SEPARATOR { LINE; }



		STRING MGMOSPLINEOBJECT_TURTLE_MODIFIER 

		{ 

			CUSTOMGUI MULTISTRING; 

			OPEN; 

			SCALE_V;

		}

		

		STATICTEXT MGMOSPLINEOBJECT_TURTLE_OUTPUT

		{

		}

		

		BUTTON MGMOSPLINEOBJECT_TURTLE_PRINT { }

	}

	

	GROUP MGMOSPLINEOBJECT_TURTLE_GROUP_VALUES

	{	

		REAL MGMOSPLINEOBJECT_TURTLE_GROWTH { MIN 0.0; STEP 0.01; MAXSLIDER 10.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_BASEANGLE { UNIT DEGREE; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 360.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_BASESCALE { UNIT METER; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_BASEMOVE { UNIT METER; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_BASETROPISM { UNIT PERCENT; STEP 1; MINSLIDER 0.0; MAXSLIDER 1000.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_RANDOMISATION { UNIT PERCENT; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		LONG MGMOSPLINEOBJECT_TURTLE_RANDOM_SEED { MIN 0; }

		

		SEPARATOR { LINE; }



		REAL MGMOSPLINEOBJECT_TURTLE_ADDMOVE { UNIT PERCENT; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_ADDANGLE { UNIT PERCENT; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		REAL MGMOSPLINEOBJECT_TURTLE_ADDSCALE { UNIT PERCENT; STEP 0.1; MINSLIDER 0.0; MAXSLIDER 100.0; CUSTOMGUI REALSLIDER; }

		

		GROUP

		{

			COLUMNS 2;

			BOOL MGMOSPLINEOBJECT_TURTLE_GROWANGLE {}

			BOOL MGMOSPLINEOBJECT_TURTLE_GROWSCALE {}

			BOOL MGMOSPLINEOBJECT_TURTLE_GROWMOVE {}

		}

	}



	GROUP MGMOSPLINEOBJECT_GROUP_SPLINE

	{

		LONG MGMOSPLINEOBJECT_SPLINE_MODE

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_SPLINE_MODE_VERTS;

				MGMOSPLINEOBJECT_SPLINE_MODE_COUNT;

				MGMOSPLINEOBJECT_SPLINE_MODE_EVEN;

				MGMOSPLINEOBJECT_SPLINE_MODE_STEP;

			}

		}

		

		LONG MGMOSPLINEOBJECT_SPLINE_COUNT { MIN 0; }

		REAL MGMOSPLINEOBJECT_SPLINE_COUNT_STEP

		{

			UNIT METER;

			MIN 0.001;

		}

	

		LINK MGMOSPLINEOBJECT_SOURCE_SPLINE

		{

			ACCEPT { Obase; }

		}

		LINK MGMOSPLINEOBJECT_SOURCE_RAIL

		{

			ACCEPT { Obase; }

		}

		

		REAL	MGMOSPLINEOBJECT_SPLINE_WIDTH

		{

			MIN 0.0;

			MAXSLIDER 100.0;

			UNIT METER;

			CUSTOMGUI REALSLIDER;

			PARENTCOLLAPSE;

		}

		SPLINE MGMOSPLINEOBJECT_SPLINE_WIDTH_SPLINE

		{

			EDIT_H;

			EDIT_V;

			HAS_PRESET_BTN;

			HAS_ROUND_SLIDER;

			PARENTCOLLAPSE MGMOSPLINEOBJECT_SPLINE_WIDTH; 

		}

		STRING MGMOSPLINEOBJECT_SPLINE_WIDTH_FORMULA

		{

			PARENTCOLLAPSE MGMOSPLINEOBJECT_SPLINE_WIDTH; 

		}

	}

	

	GROUP MGMOSPLINEOBJECT_GROUP_EFFECTORS

	{

		GROUP MGMOSPLINEOBJECT_TRANSFORMGROUP

		{

			DEFAULT 1;

		}

		

		SEPARATOR { LINE; } 

		

		IN_EXCLUDE	MGMOSPLINEOBJECT_EFFECTORLIST

		{

			SCALE_V;

			SCALE_H;

			NUM_FLAGS 1;

			INIT_STATE 1;

			IMAGE_01_ON 1018640;

			IMAGE_01_OFF 1018641;

			ACCEPT

			{

				Obaseeffector;

			}

		}

	}

	

	GROUP MGMOSPLINEOBJECT_GROUP_FIELDS

	{

		LONG MGMOSPLINEOBJECT_FIELD_MODE

		{

			CYCLE

			{

				MGMOSPLINEOBJECT_FIELD_MODE_INCLUDE;

				MGMOSPLINEOBJECT_FIELD_MODE_EXCLUDE;

			}

		}

		IN_EXCLUDE MGMOSPLINEOBJECT_PARTICLEFIELDS { NUM_FLAGS 0; ACCEPT { Obase; Oparticle; } }

	}

}

