Initial release
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Project : SDK Core
|
||||
//
|
||||
// Category : SDK Core Interfaces
|
||||
// Filename : pluginterfaces/base/geoconstants.h
|
||||
// Created by : Steinberg, 11/2014
|
||||
// Description : Defines orientations and directions as also used by fpoint.h and frect.h
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// This file is part of a Steinberg SDK. It is subject to the license terms
|
||||
// in the LICENSE file found in the top-level directory of this distribution
|
||||
// and at www.steinberg.net/sdklicenses.
|
||||
// No part of the SDK, including this file, may be copied, modified, propagated,
|
||||
// or distributed except according to the terms contained in the LICENSE file.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
namespace Steinberg {
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
enum Direction
|
||||
{
|
||||
kNorth,
|
||||
kNorthEast,
|
||||
kEast,
|
||||
kSouthEast,
|
||||
kSouth,
|
||||
kSouthWest,
|
||||
kWest,
|
||||
kNorthWest,
|
||||
kNoDirection, //same position or center point of a geometry
|
||||
|
||||
kNumberOfDirections,
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
enum Orientation
|
||||
{
|
||||
kHorizontal,
|
||||
kVertical,
|
||||
|
||||
kNumberOfOrientations
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
namespace GeoConstants {
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
inline Direction toOpposite (Direction dir)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case kNorth : return kSouth;
|
||||
case kNorthEast : return kSouthWest;
|
||||
case kEast : return kWest;
|
||||
case kSouthEast : return kNorthWest;
|
||||
case kSouth : return kNorth;
|
||||
case kSouthWest : return kNorthEast;
|
||||
case kWest : return kEast;
|
||||
case kNorthWest : return kSouthEast;
|
||||
case kNoDirection : return kNoDirection;
|
||||
default:
|
||||
return kNumberOfDirections;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
inline Orientation toOrientation (Direction dir)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case kNorth : return kVertical;
|
||||
case kEast : return kHorizontal;
|
||||
case kSouth : return kVertical;
|
||||
case kWest : return kHorizontal;
|
||||
default:
|
||||
return kNumberOfOrientations;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
inline Orientation toOrthogonalOrientation (Orientation dir)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case kVertical : return kHorizontal;
|
||||
case kHorizontal : return kVertical;
|
||||
default:
|
||||
return kNumberOfOrientations;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
} // namespace GeoConstants
|
||||
} // namespace Steinberg
|
||||
Reference in New Issue
Block a user