#ifndef TCAIK_H__
#define TCAIK_H__

enum
{
	ID_CA_IK_TAG_SOLVER_GROUP = 3000,
	ID_CA_IK_TAG_DISPLAY_GROUP,
	ID_CA_IK_TAG_STRETCH_GROUP,
	ID_CA_IK_TAG_DYNAMICS_GROUP,
	ID_CA_IK_TAG_DYNAMICS_FORCES_GROUP,
	ID_CA_IK_TAG_DYNAMICS_ADVANCED_GROUP,
	ID_CA_IK_TAG_POLE_GROUP,
	ID_CA_IK_TAG_DYNAMICS_CURVES_GROUP,
	ID_CA_IK_TAG_DYNAMICS_COLLIDERS_GROUP,

	ID_CA_IK_TAG_TIP = 2000,
	ID_CA_IK_TAG_TARGET,
	ID_CA_IK_TAG_IKFK,
	ID_CA_IK_TAG_SOLVER,
	ID_CA_IK_TAG_DUMMY_1,
	ID_CA_IK_TAG_POLE,
	ID_CA_IK_TAG_SOLVER_ITERATIONS_MAX,
	ID_CA_IK_TAG_SOLVER_THRESHOLD,
	ID_CA_IK_TAG_PREFERRED_WEIGHT,
	ID_CA_IK_TAG_PULL,
	ID_CA_IK_TAG_STRETCH,
	ID_CA_IK_TAG_GOAL_UPDATE,
	ID_CA_IK_TAG_GOAL_CONSTRAIN,
	ID_CA_IK_TAG_GOAL_DIRTY,
	ID_CA_IK_TAG_GOAL_OFFSET,
	ID_CA_IK_TAG_ALIGN_GOAL,
	ID_CA_IK_TAG_DELETE_1,
	ID_CA_IK_TAG_DELETE_2,
	ID_CA_IK_TAG_DRAW_FK_CHAIN,
	ID_CA_IK_TAG_DRAW_IK_CHAIN,
	ID_CA_IK_TAG_DRAW_HANDLE_LINE,
	ID_CA_IK_TAG_DRAW_FK_COLOR,
	ID_CA_IK_TAG_DRAW_IK_COLOR,
	ID_CA_IK_TAG_DRAW_HANDLE_COLOR,
	ID_CA_IK_TAG_DRAW_POLE_COLOR,
	ID_CA_IK_TAG_DRAW_POLE,
	ID_CA_IK_TAG_STRENGTH,
	ID_CA_IK_TAG_PULL_PARENT,
	ID_CA_IK_TAG_DUMMY_2,
	ID_CA_IK_TAG_START_INDEX,
	ID_CA_IK_TAG_END_INDEX,
	ID_CA_IK_TAG_SPLINE,
	ID_CA_IK_TAG_ADD_GOAL,
	ID_CA_IK_TAG_ADD_POLE,
	ID_CA_IK_TAG_ENABLE,
	ID_CA_IK_TAG_LOCKFK,
	ID_CA_IK_TAG_STRETCH_TYPE,
	ID_CA_IK_TAG_SQUASH,
	ID_CA_IK_TAG_SQUASH_TYPE,
	ID_CA_IK_TAG_STRETCH_CLAMP,
	ID_CA_IK_TAG_STRETCH_CLAMP_DIST,
	ID_CA_IK_TAG_SQUASH_CLAMP,
	ID_CA_IK_TAG_SQUASH_CLAMP_DIST,
	ID_CA_IK_TAG_UPDATEFKIK,
	ID_CA_IK_TAG_DYNAMICS_ENABLE,
	ID_CA_IK_TAG_DYNAMICS_STIFFNESS,
	ID_CA_IK_TAG_DYNAMICS_DRAG,
	ID_CA_IK_TAG_DYNAMICS_GRAVITY,
	ID_CA_IK_TAG_DYNAMICS_FORCES,
	ID_CA_IK_TAG_DYNAMICS_SUBDIV,
	ID_CA_IK_TAG_DYNAMICS_DUMMY_6,
	ID_CA_IK_TAG_DYNAMICS_AUTOTIME,
	ID_CA_IK_TAG_DYNAMICS_START,
	ID_CA_IK_TAG_DYNAMICS_STOP,
	ID_CA_IK_TAG_DYNAMICS_COLLISIONS,
	ID_CA_IK_TAG_DYNAMICS_DUMMY_5,
	ID_CA_IK_TAG_DYNAMICS_POSHOLD,
	ID_CA_IK_TAG_DYNAMICS_ROTHOLD,
	ID_CA_IK_TAG_DYNAMICS_CUPDATE,
	ID_CA_IK_TAG_DYNAMICS_RADIUS,
	ID_CA_IK_TAG_RESET_FK,
	ID_CA_IK_TAG_POLE_AXIS,
	ID_CA_IK_TAG_POLE_TWIST,
	ID_CA_IK_TAG_DYNAMICS_FORCES_INCEXC,
	ID_CA_IK_TAG_DYNAMICS_ROTHOLD_CURVE,
	ID_CA_IK_TAG_DYNAMICS_POSHOLD_CURVE,
	ID_CA_IK_TAG_DYNAMICS_COLLIDERS,
	ID_CA_IK_TAG_DYNAMICS_FRICTION,
	ID_CA_IK_TAG_DYNAMICS_BOUNCE,

	//////////////////////////////////////////////////////////////////////////

	ID_CA_IK_TAG_END_COUNT = 10000,

	//////////////////////////////////////////////////////////////////////////

	ID_CA_IK_TAG_SOLVER_NONE = 0,
	ID_CA_IK_TAG_SOLVER_2D,
	ID_CA_IK_TAG_SOLVER_3D,

	ID_CA_IK_TAG_DRAW_POLE_NONE = 0,
	ID_CA_IK_TAG_DRAW_POLE_ROOT,
	ID_CA_IK_TAG_DRAW_POLE_JOINT,

	ID_CA_IK_TAG_STRETCH_TYPE_POSITION = 0,
	ID_CA_IK_TAG_STRETCH_TYPE_SCALE_UNIFORM,
	ID_CA_IK_TAG_STRETCH_TYPE_SCALE_BONE,
	ID_CA_IK_TAG_STRETCH_TYPE_SCALE_VOLUME,

	ID_CA_IK_TAG_POLE_AXIS_AUTO = 0,
	ID_CA_IK_TAG_POLE_AXIS_X,
	ID_CA_IK_TAG_POLE_AXIS_Y,
	ID_CA_IK_TAG_POLE_AXIS_Z,
	ID_CA_IK_TAG_POLE_AXIS_NX,
	ID_CA_IK_TAG_POLE_AXIS_NY,
	ID_CA_IK_TAG_POLE_AXIS_NZ,

	ID_CA_IK_TAG_DYNAMICS_INCEXC_INCLUDE = 0,
	ID_CA_IK_TAG_DYNAMICS_INCEXC_EXCLUDE = 1,

	//////////////////////////////////////////////////////////////////////////

	ID_CA_IK_TAG_DUMMY
};

#endif // TCAIK_H__
