#ifndef _Tcaconstraint_H_

#define _Tcaconstraint_H_



enum

{

	ID_CA_CONSTRAINT_TAG_PSR_OFFSET_GROUP = 5000,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_GROUP,

	ID_CA_CONSTRAINT_TAG_AIM_OFFSET_GROUP,

	ID_CA_CONSTRAINT_TAG_AIM_CONSTRAIN_GROUP,

	ID_CA_CONSTRAINT_TAG_UP_OFFSET_GROUP,

	ID_CA_CONSTRAINT_TAG_UP_CONSTRAIN_GROUP,

	ID_CA_CONSTRAINT_TAG_PARENT_OFFSET_GROUP,

	ID_CA_CONSTRAINT_TAG_MIRROR_OFFSET_GROUP,

	ID_CA_CONSTRAINT_TAG_SPRING_OFFSET_GROUP,

	ID_CA_CONSTRAINT_TAG_GROUP,



	ID_CA_CONSTRAINT_TAG_PSR_GROUP = 6000, // order must be kept to match ID_CA_CONSTRAINT_TAG_xxx_ADD

	ID_CA_CONSTRAINT_TAG_AIM_GROUP,

	ID_CA_CONSTRAINT_TAG_PARENT_GROUP,

	ID_CA_CONSTRAINT_TAG_UP_GROUP,

	ID_CA_CONSTRAINT_TAG_CLAMP_GROUP,

	ID_CA_CONSTRAINT_TAG_SPRING_GROUP,

	ID_CA_CONSTRAINT_TAG_MIRROR_GROUP,

	ID_CA_CONSTRAINT_TAG_COLLISION_GROUP,



	ID_CA_CONSTRAINT_TAG_PSR = 1000, // order must be kept to match ID_CA_CONSTRAINT_TAG_xxx_ADD

	ID_CA_CONSTRAINT_TAG_AIM,

	ID_CA_CONSTRAINT_TAG_PARENT,

	ID_CA_CONSTRAINT_TAG_UP,

	ID_CA_CONSTRAINT_TAG_CLAMP,

	ID_CA_CONSTRAINT_TAG_SPRING,

	ID_CA_CONSTRAINT_TAG_MIRROR,

	ID_CA_CONSTRAINT_TAG_COLLISION,

	ID_CA_CONSTRAINT_TAG_END,



	ID_CA_CONSTRAINT_TAG_FRAMEUPDATE = 1500,



	ID_CA_CONSTRAINT_TAG_AIM_MAINTAIN = 2000,

	ID_CA_CONSTRAINT_TAG_AIM_CONSTRAIN_X,

	ID_CA_CONSTRAINT_TAG_AIM_CONSTRAIN_Y,

	ID_CA_CONSTRAINT_TAG_AIM_CONSTRAIN_Z,

	ID_CA_CONSTRAINT_TAG_AIM_OFFSET,

	ID_CA_CONSTRAINT_TAG_AIM_AXIS,

	ID_CA_CONSTRAINT_TAG_AIM_TWEIGHT,



	ID_CA_CONSTRAINT_TAG_PSR_MAINTAIN = 2100,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_P_X,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_P_Y,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_P_Z,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_S_X,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_S_Y,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_S_Z,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_R_X,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_R_Y,

	ID_CA_CONSTRAINT_TAG_PSR_CONSTRAIN_R_Z,

	ID_CA_CONSTRAINT_TAG_PSR_P_OFFSET,

	ID_CA_CONSTRAINT_TAG_PSR_S_OFFSET,

	ID_CA_CONSTRAINT_TAG_PSR_R_OFFSET,

	ID_CA_CONSTRAINT_TAG_PSR_P,

	ID_CA_CONSTRAINT_TAG_PSR_S,

	ID_CA_CONSTRAINT_TAG_PSR_R,

	ID_CA_CONSTRAINT_TAG_PSR_TWEIGHT,

	ID_CA_CONSTRAINT_TAG_LOCAL_P,

	ID_CA_CONSTRAINT_TAG_LOCAL_S,

	ID_CA_CONSTRAINT_TAG_LOCAL_R,



	ID_CA_CONSTRAINT_TAG_PARENT_P = 2200,

	ID_CA_CONSTRAINT_TAG_PARENT_S,

	ID_CA_CONSTRAINT_TAG_PARENT_R,

	ID_CA_CONSTRAINT_TAG_PARENT_TWEIGHT,

	ID_CA_CONSTRAINT_TAG_PARENT_PDIRTY,

	ID_CA_CONSTRAINT_TAG_PARENT_PMATRIX,

	ID_CA_CONSTRAINT_TAG_PARENT_MAINTAIN,

	ID_CA_CONSTRAINT_TAG_PARENT_P_OFFSET,

	ID_CA_CONSTRAINT_TAG_PARENT_S_OFFSET,

	ID_CA_CONSTRAINT_TAG_PARENT_R_OFFSET,

	ID_CA_CONSTRAINT_TAG_PARENT_FROZEN,

	ID_CA_CONSTRAINT_TAG_PARENT_RESET,

	

	ID_CA_CONSTRAINT_TAG_UP_MAINTAIN = 2300,

	ID_CA_CONSTRAINT_TAG_UP_CONSTRAIN_X,

	ID_CA_CONSTRAINT_TAG_UP_CONSTRAIN_Y,

	ID_CA_CONSTRAINT_TAG_UP_CONSTRAIN_Z,

	ID_CA_CONSTRAINT_TAG_UP_OFFSET,

	ID_CA_CONSTRAINT_TAG_UP_AXIS,

	ID_CA_CONSTRAINT_TAG_UP_TWEIGHT,

	ID_CA_CONSTRAINT_TAG_UP_ROT_AXIS,



	ID_CA_CONSTRAINT_TAG_CLAMP_TWEIGHT = 2400,

	ID_CA_CONSTRAINT_TAG_CLAMP_MODE,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_TO,

	ID_CA_CONSTRAINT_TAG_CLAMP_AXIS,

	ID_CA_CONSTRAINT_TAG_CLAMP_PLANE,

	ID_CA_CONSTRAINT_TAG_CLAMP_STICK,

	ID_CA_CONSTRAINT_TAG_CLAMP_DISTANCE,

	ID_CA_CONSTRAINT_TAG_CLAMP_COLOR,

	ID_CA_CONSTRAINT_TAG_CLAMP_SHOW,

	ID_CA_CONSTRAINT_TAG_CLAMP_NORMALS,



	ID_CA_CONSTRAINT_TAG_SPRING_TWEIGHT = 2500,

	ID_CA_CONSTRAINT_TAG_SPRING_LENGTH,

	ID_CA_CONSTRAINT_TAG_SPRING_STIFFNESS,

	ID_CA_CONSTRAINT_TAG_SPRING_DRAG,

	ID_CA_CONSTRAINT_TAG_SPRING_P,

	ID_CA_CONSTRAINT_TAG_SPRING_S,

	ID_CA_CONSTRAINT_TAG_SPRING_R,

	ID_CA_CONSTRAINT_TAG_DELETED_1,

	ID_CA_CONSTRAINT_TAG_SPRING_GRAVITY,

	ID_CA_CONSTRAINT_TAG_SPRING_P_OFFSET,

	ID_CA_CONSTRAINT_TAG_SPRING_S_OFFSET,

	ID_CA_CONSTRAINT_TAG_SPRING_R_OFFSET,



	ID_CA_CONSTRAINT_TAG_MIRROR_P_OFFSET = 2601,

	ID_CA_CONSTRAINT_TAG_MIRROR_R_OFFSET,

	ID_CA_CONSTRAINT_TAG_MIRROR_P,

	ID_CA_CONSTRAINT_TAG_MIRROR_R,

	ID_CA_CONSTRAINT_TAG_MIRROR_TWEIGHT,

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN_LINK,

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN,

	ID_CA_CONSTRAINT_TAG_MIRROR_PLANE,

	ID_CA_CONSTRAINT_TAG_MIRROR_AXIS,



	ID_CA_CONSTRAINT_TAG_COLLISION_TWEIGHT = 2700,

	ID_CA_CONSTRAINT_TAG_COLLISION_TARGETS,



	ID_CA_CONSTRAINT_TAG_GROUPS = 120000,	// FIX[25844] - clashed with ID 110050

	ID_CA_CONSTRAINT_TAG_GROUPS_END = 125000,



	ID_CA_CONSTRAINT_TAG_DYNAMIC_IDS = 130000,

	ID_CA_CONSTRAINT_TAG_DYNAMIC_IDS_END = 135000,



	//////////////////////////////////////////////////////////////////////////



	 // orders must be kept to match ID_CA_CONSTRAINT_TAG_xxx_ADD



	ID_CA_CONSTRAINT_TAG_PSR_CONTAINER = 6500,

	ID_CA_CONSTRAINT_TAG_AIM_CONTAINER,

	ID_CA_CONSTRAINT_TAG_PARENT_CONTAINER,

	ID_CA_CONSTRAINT_TAG_UP_CONTAINER,

	ID_CA_CONSTRAINT_TAG_CLAMP_CONTAINER,

	ID_CA_CONSTRAINT_TAG_SPRING_CONTAINER,

	ID_CA_CONSTRAINT_TAG_MIRROR_CONTAINER,



	ID_CA_CONSTRAINT_TAG_PSR_TARGETS_GROUP = 7000,

	ID_CA_CONSTRAINT_TAG_AIM_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_PARENT_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_UP_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_CLAMP_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_SPRING_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_MIRROR_TARGETS_GROUP,

	ID_CA_CONSTRAINT_TAG_COLLISION_TARGETS_GROUP,



	ID_CA_CONSTRAINT_TAG_PSR_SUBGROUP = 7500,

	ID_CA_CONSTRAINT_TAG_AIM_SUBGROUP,

	ID_CA_CONSTRAINT_TAG_PARENT_SUBGROUP,

	ID_CA_CONSTRAINT_TAG_UP_SUBGROUP,

	ID_CA_CONSTRAINT_TAG_CLAMP_SUBGROUP,

	ID_CA_CONSTRAINT_TAG_SPRING_SUBGROUP,

	ID_CA_CONSTRAINT_TAG_MIRROR_SUBGROUP,



	ID_CA_CONSTRAINT_TAG_PSR_LINK = 8000,

	ID_CA_CONSTRAINT_TAG_AIM_LINK,

	ID_CA_CONSTRAINT_TAG_PARENT_LINK,

	ID_CA_CONSTRAINT_TAG_UP_LINK,

	ID_CA_CONSTRAINT_TAG_CLAMP_LINK,

	ID_CA_CONSTRAINT_TAG_SPRING_LINK,

	ID_CA_CONSTRAINT_TAG_MIRROR_LINK,



	ID_CA_CONSTRAINT_TAG_PSR_WEIGHT = 8500,

	ID_CA_CONSTRAINT_TAG_AIM_WEIGHT,

	ID_CA_CONSTRAINT_TAG_PARENT_WEIGHT,

	ID_CA_CONSTRAINT_TAG_UP_WEIGHT,

	ID_CA_CONSTRAINT_TAG_CLAMP_WEIGHT,

	ID_CA_CONSTRAINT_TAG_SPRING_WEIGHT,

	ID_CA_CONSTRAINT_TAG_MIRROR_WEIGHT,



	ID_CA_CONSTRAINT_TAG_PSR_ADD = 9000,

	ID_CA_CONSTRAINT_TAG_AIM_ADD,

	ID_CA_CONSTRAINT_TAG_PARENT_ADD,

	ID_CA_CONSTRAINT_TAG_UP_ADD,

	ID_CA_CONSTRAINT_TAG_CLAMP_ADD,

	ID_CA_CONSTRAINT_TAG_SPRING_ADD,

	ID_CA_CONSTRAINT_TAG_MIRROR_ADD,

	ID_CA_CONSTRAINT_TAG_COLLISION_ADD,

	

	ID_CA_CONSTRAINT_TAG_ADD_END,



	ID_CA_CONSTRAINT_TAG_PSR_REMOVE = 9500,

	ID_CA_CONSTRAINT_TAG_AIM_REMOVE,

	ID_CA_CONSTRAINT_TAG_PARENT_REMOVE,

	ID_CA_CONSTRAINT_TAG_UP_REMOVE,

	ID_CA_CONSTRAINT_TAG_CLAMP_REMOVE,

	ID_CA_CONSTRAINT_TAG_SPRING_REMOVE,

	ID_CA_CONSTRAINT_TAG_MIRROR_REMOVE,



	ID_CA_CONSTRAINT_TAG_REMOVE_END,



	ID_CA_CONSTRAINT_TAG_PSR_TARGET_COUNT = 10000,

	ID_CA_CONSTRAINT_TAG_PSR_TARGET_COUNT_END = 19999,



	ID_CA_CONSTRAINT_TAG_AIM_TARGET_COUNT = 20000,

	ID_CA_CONSTRAINT_TAG_AIM_TARGET_COUNT_END = 29999,



	ID_CA_CONSTRAINT_TAG_PARENT_TARGET_COUNT = 30000,

	ID_CA_CONSTRAINT_TAG_PARENT_TARGET_COUNT_END = 39999,

	

	ID_CA_CONSTRAINT_TAG_UP_TARGET_COUNT = 40000,

	ID_CA_CONSTRAINT_TAG_UP_TARGET_COUNT_END = 49999,



	ID_CA_CONSTRAINT_TAG_CLAMP_TARGET_COUNT = 50000,

	ID_CA_CONSTRAINT_TAG_CLAMP_TARGET_COUNT_END = 59999,



	ID_CA_CONSTRAINT_TAG_SPRING_TARGET_COUNT = 60000,

	ID_CA_CONSTRAINT_TAG_SPRING_TARGET_COUNT_END = 69999,



	ID_CA_CONSTRAINT_TAG_MIRROR_TARGET_COUNT = 70000,

	ID_CA_CONSTRAINT_TAG_MIRROR_TARGET_COUNT_END = 79999,



	//////////////////////////////////////////////////////////////////////////

	

	ID_CA_CONSTRAINT_TAG_AXIS_XP = 0,

	ID_CA_CONSTRAINT_TAG_AXIS_YP = 1,

	ID_CA_CONSTRAINT_TAG_AXIS_ZP = 2,

	ID_CA_CONSTRAINT_TAG_AXIS_XM = 3,

	ID_CA_CONSTRAINT_TAG_AXIS_YM = 4,

	ID_CA_CONSTRAINT_TAG_AXIS_ZM = 5,

	

	ID_CA_CONSTRAINT_TAG_AXIS_X = 0,

	ID_CA_CONSTRAINT_TAG_AXIS_Y = 1,

	ID_CA_CONSTRAINT_TAG_AXIS_Z = 2,



	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_NONE=0,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_TO_CONSTRAINT,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_TO_NORMAL,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_TO_TANGENT,

	ID_CA_CONSTRAINT_TAG_CLAMP_ALIGN_TO_PLYNORMAL,



	ID_CA_CONSTRAINT_TAG_CLAMP_TO_ORIGIN = 0,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_AXIS,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_PLANE,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_POINT,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_SURFACE,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_SPLINE,

	ID_CA_CONSTRAINT_TAG_CLAMP_TO_BOUNDS,



	ID_CA_CONSTRAINT_TAG_PLANE_XY = 0,

	ID_CA_CONSTRAINT_TAG_PLANE_YZ,

	ID_CA_CONSTRAINT_TAG_PLANE_XZ,

	ID_CA_CONSTRAINT_TAG_PLANE_MXY,

	ID_CA_CONSTRAINT_TAG_PLANE_MYZ,

	ID_CA_CONSTRAINT_TAG_PLANE_MXZ,



	ID_CA_CONSTRAINT_TAG_CLAMP_MODE_MIN = 0,

	ID_CA_CONSTRAINT_TAG_CLAMP_MODE_MAX,

	ID_CA_CONSTRAINT_TAG_CLAMP_MODE_FIX,

	ID_CA_CONSTRAINT_TAG_CLAMP_MODE_LOCK,

	

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN_WORLD = 0,

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN_ROOT,

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN_PARENT,

	ID_CA_CONSTRAINT_TAG_MIRROR_ORIGIN_OBJECT,



	ID_CA_CONSTRAINT_TAG_MIRROR_PLANE_XY = 0,

	ID_CA_CONSTRAINT_TAG_MIRROR_PLANE_YZ,

	ID_CA_CONSTRAINT_TAG_MIRROR_PLANE_ZX,



	ID_CA_CONSTRAINT_TAG_MIRROR_AXIS_XY = 0,

	ID_CA_CONSTRAINT_TAG_MIRROR_AXIS_YZ,

	ID_CA_CONSTRAINT_TAG_MIRROR_AXIS_ZX,



	//////////////////////////////////////////////////////////////////////////

		

	ID_CA_CONSTRAINT_TAG_DUMMY

};



#endif // _Tcaconstraint_H_