(svn r4541) Add a type for slopes and replace many magic numbers by the appropriate enums
This commit is contained in:
41
slope.h
Normal file
41
slope.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* $Id$ */
|
||||
|
||||
#ifndef SLOPE_H
|
||||
#define SLOPE_H
|
||||
|
||||
typedef enum Slope {
|
||||
SLOPE_FLAT = 0x00,
|
||||
SLOPE_W = 0x01,
|
||||
SLOPE_S = 0x02,
|
||||
SLOPE_E = 0x04,
|
||||
SLOPE_N = 0x08,
|
||||
SLOPE_STEEP = 0x10,
|
||||
SLOPE_NW = SLOPE_N | SLOPE_W,
|
||||
SLOPE_SW = SLOPE_S | SLOPE_W,
|
||||
SLOPE_SE = SLOPE_S | SLOPE_E,
|
||||
SLOPE_NE = SLOPE_N | SLOPE_E,
|
||||
SLOPE_EW = SLOPE_E | SLOPE_W,
|
||||
SLOPE_NS = SLOPE_N | SLOPE_S,
|
||||
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W,
|
||||
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S,
|
||||
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E,
|
||||
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N,
|
||||
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W,
|
||||
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS,
|
||||
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE,
|
||||
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN,
|
||||
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW
|
||||
} Slope;
|
||||
|
||||
static inline bool IsSteepSlope(Slope s)
|
||||
{
|
||||
return (s & SLOPE_STEEP) != 0;
|
||||
}
|
||||
|
||||
static inline Slope ComplementSlope(Slope s)
|
||||
{
|
||||
assert(!IsSteepSlope(s));
|
||||
return (Slope)(0xF ^ s);
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user