#ifndef OFPATTRIBUTES_H__
#define OFPATTRIBUTES_H__

enum
{
	FP_ATTRIBUTES_CONTAINER = 60000,
	FP_ATTRIBUTES = 60001,
		// Explicit Attributes
		FP_ATTRIBUTES_AGE = 0,
		FP_ATTRIBUTES_COLOR = 1,
		FP_ATTRIBUTES_GROUP = 2,
		FP_ATTRIBUTES_POSITION = 3,
		FP_ATTRIBUTES_VELOCITY = 4,
		FP_ATTRIBUTES_RADIUS = 5,
		FP_ATTRIBUTES_DISTANCE = 6,
		FP_ATTRIBUTES_LIFETIME = 7,
		FP_ATTRIBUTES_ALIGNMENT = 8,
		FP_ATTRIBUTES_ANGULARVELOCITY = 9,
		// Implicit Attributes
		FP_ATTRIBUTES_VELOCITYSPEED = 20, // jumping to keep room for future attributes
		FP_ATTRIBUTES_AGENORMALIZED = 21,
		FP_ATTRIBUTES_ANGULARVELOCITYSPEED = 22,
		

	FP_EXTRACT = 70001,
		FP_EXTRACT_COMPONENT_R = 0,
		FP_EXTRACT_COMPONENT_G = 1,
		FP_EXTRACT_COMPONENT_B = 2,
		FP_EXTRACT_COMPONENT_A = 3,
		FP_EXTRACT_COMPONENT_X = 0,
		FP_EXTRACT_COMPONENT_Y = 1,
		FP_EXTRACT_COMPONENT_Z = 2,
		FP_EXTRACT_COMPONENT_W = 3,
		FP_EXTRACT_CROSS = 4,
		FP_EXTRACT_DEFAULT = 5,
		FP_EXTRACT_DOT = 6,
		FP_EXTRACT_LENGTH = 7,
		FP_EXTRACT_MAX = 8,
		FP_EXTRACT_MIN = 9,
		FP_EXTRACT_NORMALIZE = 10,
		// Alignment only
		FP_EXTRACT_ALIGNMENTFORWARDDOT = 11,
		FP_EXTRACT_ALIGNMENTUPDOT = 12,
		FP_EXTRACT_ALIGNMENTSIDEDOT = 13,
		// Default replacements
		FP_EXTRACT_COMPONENTS_RGB = 5,
		FP_EXTRACT_COMPONENTS_XYZ = 5,
		// Color only
		FP_EXTRACT_COMPONENTS_RGBA = 14,

	FP_EXTRACT_VECTORVALUE = 70003,
	FP_VECTOR_EXTRACT = 70004,
	FP_COLOR_EXTRACT = 70005,
	FP_ALIGNMENT_EXTRACT = 70006,

	//////////////////////////////////////////////////////////////////////////
	FP_ATTRIBUTES_DUMMY
};

#endif // OFPATTRIBUTES_H__
