#ifndef TRSOBJECT_H__
#define TRSOBJECT_H__

enum
{
	REDSHIFT_OBJECT_OBJECTID_ID				=	1000,
	REDSHIFT_OBJECT_OBJECTID_OVERRIDE		=	1999,

	// Visibility
	REDSHIFT_OBJECT_VISIBILITY_PRIMARYRAYVISIBLE = 2000,
	REDSHIFT_OBJECT_VISIBILITY_SECONDARYRAYVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_SHADOWCASTER,
	REDSHIFT_OBJECT_VISIBILITY_SHADOWRECEIVER,
	REDSHIFT_OBJECT_VISIBILITY_SELFSHADOWS,
	REDSHIFT_OBJECT_VISIBILITY_AOCASTER,
	REDSHIFT_OBJECT_VISIBILITY_REFLECTIONVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_REFRACTIONVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_REFLECTIONCASTER,
	REDSHIFT_OBJECT_VISIBILITY_REFRACTIONCASTER,
	REDSHIFT_OBJECT_VISIBILITY_FGVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_GIVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_CAUSTICVISIBLE,
	REDSHIFT_OBJECT_VISIBILITY_FGCASTER,
	REDSHIFT_OBJECT_VISIBILITY_FORCEBRUTEFORCEGI,
	REDSHIFT_OBJECT_VISIBILITY_GICASTER,
	REDSHIFT_OBJECT_VISIBILITY_CAUSTICCASTER,
	REDSHIFT_OBJECT_VISIBILITY_GIRECEIVER,
	REDSHIFT_OBJECT_VISIBILITY_CAUSTICSRECEIVER,
	REDSHIFT_OBJECT_VISIBILITY_OVERRIDE = 2999,

	// Particles
	REDSHIFT_OBJECT_PARTICLE_MODE = 3000,
	REDSHIFT_OBJECT_PARTICLE_SCALE,
	REDSHIFT_OBJECT_PARTICLE_CUSTOM_OBJECTS,
	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION,
	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION_SEED,
	REDSHIFT_OBJECT_PARTICLE_CUSTOM_OBJECTS_VISIBLE,

	// Matte
	REDSHIFT_OBJECT_MATTE_ENABLED = 4000,
	REDSHIFT_OBJECT_MATTE_SHOW_BACKGROUND,
	REDSHIFT_OBJECT_MATTE_APPLY_TO_SECONDARY_RAYS,
	REDSHIFT_OBJECT_MATTE_AFFECTED_BY_MATTE_LIGHTS,
	REDSHIFT_OBJECT_MATTE_ALPHA,
	REDSHIFT_OBJECT_MATTE_REFLECTION_SCALE,
	REDSHIFT_OBJECT_MATTE_REFRACTION_SCALE,
	REDSHIFT_OBJECT_MATTE_DIFFUSE_SCALE,
	REDSHIFT_OBJECT_MATTE_SHADOW_ENABLED,
	REDSHIFT_OBJECT_MATTE_SHADOW_COLOR,
	REDSHIFT_OBJECT_MATTE_SHADOW_TRANSPARENCY,
	REDSHIFT_OBJECT_MATTE_SHADOW_AFFECTS_ALPHA_ENABLED,
	REDSHIFT_OBJECT_MATTE_RECEIVE_SHADOWS_FROM_MATTE_ENABLED,
	REDSHIFT_OBJECT_MATTE_INCLUDE_IN_PUZZLE_MATTE,
	REDSHIFT_OBJECT_MATTE_OVERRIDE = 4999,

	// Geometry
	REDSHIFT_OBJECT_GEOMETRY_SUBDIVISIONENABLED	= 5000,
	REDSHIFT_OBJECT_GEOMETRY_SUBDIVISIONRULE,
	REDSHIFT_OBJECT_GEOMETRY_SCREENSPACEADAPTIVE,
	REDSHIFT_OBJECT_GEOMETRY_SMOOTHSUBDIVISIONENABLED,
	REDSHIFT_OBJECT_GEOMETRY_MINTESSELLATIONLENGTH,
	REDSHIFT_OBJECT_GEOMETRY_MAXTESSELLATIONSUBDIVS,
	REDSHIFT_OBJECT_GEOMETRY_OUTOFFRUSTUMTESSELLATIONFACTOR,
	REDSHIFT_OBJECT_GEOMETRY_DISPLACEMENTENABLED,
	REDSHIFT_OBJECT_GEOMETRY_MAXDISPLACEMENT,
	REDSHIFT_OBJECT_GEOMETRY_DISPLACEMENTSCALE,
	REDSHIFT_OBJECT_GEOMETRY_AUTOBUMPENABLED,
	REDSHIFT_OBJECT_GEOMETRY_UVSMOOTHINGMODE,
	REDSHIFT_OBJECT_GEOMETRY_LIMITOUTOFFRUSTUMTESSELLATION,
	REDSHIFT_OBJECT_GEOMETRY_MAXOUTOFFRUSTUMTESSELLATIONSUBDIVS,
	REDSHIFT_OBJECT_GEOMETRY_OVERRIDE = 5999,

	// Motion Blur
	REDSHIFT_OBJECT_MOTIONBLUR_MODE = 6000,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_ENABLED,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_X,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_Y,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_Z,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_SCALE,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_UNIT,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS,
	REDSHIFT_OBJECT_MOTIONBLUR_OVERRIDE = 6999,

	// Volumes
	REDSHIFT_OBJECT_VOLUME_STEP = 7000,

	// TraceSets
	REDSHIFT_OBJECT_TRACESETS_EXCLUSION_MODE = 8000,
	REDSHIFT_OBJECT_TRACESETS_EXCLUSION_LIST,
	REDSHIFT_OBJECT_TRACESETS_OVERRIDE = 8999,

	// Curves
	REDSHIFT_OBJECT_CURVE_MODE = 9000,
	REDSHIFT_OBJECT_CURVE_THICKNESS,
	REDSHIFT_OBJECT_CURVE_SCALE,
	REDSHIFT_OBJECT_CURVE_RESAMPLE_ENABLED,
	REDSHIFT_OBJECT_CURVE_RESAMPLE_STEPS,
	REDSHIFT_OBJECT_CURVE_MESH_SUBDIVISION_TYPE,
	REDSHIFT_OBJECT_CURVE_MESH_MAX_SUBDIVISIONS,
	REDSHIFT_OBJECT_CURVE_INTERPOLATION_MODE,

	// Reference Geometry
	REDSHIFT_OBJECT_REFERENCE_SOURCE = 10000,
	REDSHIFT_OBJECT_REFERENCE_OBJECT,
	REDSHIFT_OBJECT_REFERENCE_BUTTON_CAPTURE,
	REDSHIFT_OBJECT_REFERENCE_BUTTON_CLEAR,
	REDSHIFT_OBJECT_REFERENCE_INFO,


	// Enums
	REDSHIFT_OBJECT_PARTICLE_MODE_NONE = 0,
	REDSHIFT_OBJECT_PARTICLE_MODE_POINTCLOUD_INSTANCED_POINTS,
	REDSHIFT_OBJECT_PARTICLE_MODE_POINTCLOUD_INSTANCED_SPHERES,
	REDSHIFT_OBJECT_PARTICLE_MODE_POINTCLOUD_INSTANCED_QUADS,
	REDSHIFT_OBJECT_PARTICLE_MODE_POINTCLOUD_INSTANCED_CUSTOM,
	REDSHIFT_OBJECT_PARTICLE_MODE_POINTCLOUD_SPHERES,

	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION_TYPE_NONE = 0,
	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION_TYPE_SEQUENTIAL,
	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION_TYPE_RANDOM_LEGACY,
	REDSHIFT_OBJECT_PARTICLE_OBJECT_DISTRIBUTION_TYPE_RANDOM,

	REDSHIFT_OBJECT_CURVE_MODE_NONE = 0,
	REDSHIFT_OBJECT_CURVE_MODE_HAIR,
	REDSHIFT_OBJECT_CURVE_MODE_MESH_BOX=32,
	REDSHIFT_OBJECT_CURVE_MODE_MESH_CYLINDER,
	REDSHIFT_OBJECT_CURVE_MODE_MESH_CAPSULE,
	REDSHIFT_OBJECT_CURVE_MODE_MESH_CONE,
	REDSHIFT_OBJECT_CURVE_MODE_MESH_STRIP,

	REDSHIFT_OBJECT_CURVE_INTERPOLATION_MODE_PRECISE = 0,
	REDSHIFT_OBJECT_CURVE_INTERPOLATION_MODE_FAST,

	REDSHIFT_OBJECT_CURVE_MESH_SUBDIVISION_TYPE_NONE = 0,
	REDSHIFT_OBJECT_CURVE_MESH_SUBDIVISION_TYPE_FIXED,
	REDSHIFT_OBJECT_CURVE_MESH_SUBDIVISION_TYPE_ADAPTIVE,

	REDSHIFT_OBJECT_GEOMETRY_SUBDIVISIONRULE_CATMULLCLARKLOOP = 0,
	REDSHIFT_OBJECT_GEOMETRY_SUBDIVISIONRULE_CATMULLCLARK,

	REDSHIFT_OBJECT_GEOMETRY_UVSMOOTHINGMODE_DISABLED = 0,
	REDSHIFT_OBJECT_GEOMETRY_UVSMOOTHINGMODE_ALL_EDGES,
	REDSHIFT_OBJECT_GEOMETRY_UVSMOOTHINGMODE_INTERNAL_EDGES,

	REDSHIFT_OBJECT_MOTIONBLUR_MODE_GLOBAL = 0,
	REDSHIFT_OBJECT_MOTIONBLUR_MODE_OFF,
	REDSHIFT_OBJECT_MOTIONBLUR_MODE_TRANSFORMATION,
	REDSHIFT_OBJECT_MOTIONBLUR_MODE_TRANSFORMATION_DEFORMATION,

	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_GLOBAL = 0,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_2 = 2,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_3 = 3,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_5 = 5,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_9 = 9,
	REDSHIFT_OBJECT_MOTIONBLUR_DEFORMATION_STEPS_17 = 17,

	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_UNIT_FRAMES_LEGACY = 0,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_UNIT_FRAMES,
	REDSHIFT_OBJECT_MOTIONBLUR_MOTIONVECTOR_UNIT_SECONDS,

	REDSHIFT_OBJECT_TRACESETS_EXCLUSION_MODE_INCLUDE = 0,
	REDSHIFT_OBJECT_TRACESETS_EXCLUSION_MODE_EXCLUDE,

	REDSHIFT_OBJECT_REFERENCE_SOURCE_AUTO = 0,
	REDSHIFT_OBJECT_REFERENCE_SOURCE_SNAPSHOT,
	REDSHIFT_OBJECT_REFERENCE_SOURCE_OBJECT,

	REDSHIFT_OBJECT_GROUP_VISIBILITY_GENERAL = 20000,
	REDSHIFT_OBJECT_GROUP_VISIBILITY_REFLECTION_REFRACTION,
	REDSHIFT_OBJECT_GROUP_VISIBILITY_GLOBAL_ILLUMINATION,
	REDSHIFT_OBJECT_GROUP_PARTICLES,
	REDSHIFT_OBJECT_GROUP_MATTE_GENERAL,
	REDSHIFT_OBJECT_GROUP_MATTE_SHADOW,
	REDSHIFT_OBJECT_GROUP_GEOMETRY_TESSELATION,
	REDSHIFT_OBJECT_GROUP_GEOMETRY_DISPLACEMENT,
	REDSHIFT_OBJECT_GROUP_OBJECTID,
	REDSHIFT_OBJECT_GROUP_MOTIONBLUR,
	REDSHIFT_OBJECT_GROUP_MOTIONBLUR_MOTIONVECTOR,
	REDSHIFT_OBJECT_GROUP_VOLUME,
	REDSHIFT_OBJECT_GROUP_TRACESETS,
	REDSHIFT_OBJECT_GROUP_CURVE,
	REDSHIFT_OBJECT_GROUP_REFERENCE,
	REDSHIFT_OBJECT_TAB_VISIBILITY = 21000,
	REDSHIFT_OBJECT_TAB_MATTE,
	REDSHIFT_OBJECT_TAB_GEOMETRY,
	_REDSHIFT_OBJECT_END_
};

#endif // TRSOBJECT_H__
