/********************************************************
* Enums.h *
* *
* XFX enumeration definition file *
* Copyright © XFX Team. All Rights Reserved *
********************************************************/
#ifndef _XFX_ENUMS_
#define _XFX_ENUMS_
namespace XFX
{
///
/// Describes how one bounding volume contains another.
///
struct ContainmentType
{
enum type
{
Contains,
Disjoint,
Intersects
};
};
///
/// Defines the continuity of CurveKeys on a Curve.
///
struct CurveContinuity
{
enum type
{
Smooth,
Step
};
};
///
/// Defines how the value of a Curve will be determined for positions before
/// the first point on the Curve or after the last point on the Curve.
///
struct CurveLoopType
{
enum type
{
Constant,
Cycle,
CycleOffset,
Linear,
Oscillate
};
};
///
/// Specifies different tangent types to be calculated for CurveKey points in a Curve.
///
struct CurveTangent
{
enum type
{
Flat,
Linear,
Smooth
};
};
///
/// Describes the intersection between a plane and a bounding volume.
///
struct PlaneIntersectionType
{
enum type
{
Back,
Front,
Intersecting
};
};
///
/// Specifies the index of a player.
///
struct PlayerIndex
{
enum type
{
One,
Two,
Three,
Four
};
};
///
/// Defines the target platform to be used when compiling content.
///
struct TargetPlatform
{
enum type
{
Unknown,
Linux,
XBOX
};
};
//Lots of typedefs, but there was no other way to make these enum hacks look good.
typedef ContainmentType::type ContainmentType_t;
typedef CurveContinuity::type CurveContinuity_t;
typedef CurveLoopType::type CurveLoopType_t;
typedef CurveTangent::type CurveTangent_t;
typedef PlaneIntersectionType::type PlaneIntersectionType_t;
typedef PlayerIndex::type PlayerIndex_t;
typedef TargetPlatform::type TargetPlatform_t;
}
#endif //_ENUMS_