| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /* | ||
| 2 | * Copyright 2018, LAAS-CNRS | ||
| 3 | * Author: Steve Tonneau | ||
| 4 | */ | ||
| 5 | |||
| 6 | #ifndef BEZIER_COM_TRAJ_FLAGS_H | ||
| 7 | #define BEZIER_COM_TRAJ_FLAGS_H | ||
| 8 | |||
| 9 | #include <hpp/bezier-com-traj/local_config.hh> | ||
| 10 | |||
| 11 | namespace bezier_com_traj { | ||
| 12 | enum BEZIER_COM_TRAJ_DLLAPI CostFunction { | ||
| 13 | ACCELERATION = 0x00001, | ||
| 14 | DISTANCE_TRAVELED = 0x00002, | ||
| 15 | TARGET_END_VELOCITY = 0x00004, | ||
| 16 | UNKNOWN_COST = 0x00008 | ||
| 17 | }; | ||
| 18 | |||
| 19 | enum BEZIER_COM_TRAJ_DLLAPI ConstraintFlag { | ||
| 20 | INIT_POS = 0x00001, | ||
| 21 | INIT_VEL = 0x00002, | ||
| 22 | INIT_ACC = 0x00004, | ||
| 23 | END_POS = 0x00008, | ||
| 24 | END_VEL = 0x00010, | ||
| 25 | END_ACC = 0x00020, | ||
| 26 | INIT_JERK = 0x00040, | ||
| 27 | END_JERK = 0x00080, | ||
| 28 | ONE_FREE_VAR = 0x00000, | ||
| 29 | TWO_FREE_VAR = 0x00100, | ||
| 30 | THREE_FREE_VAR = 0x00200, | ||
| 31 | FOUR_FREE_VAR = 0x00400, | ||
| 32 | FIVE_FREE_VAR = 0x00800, | ||
| 33 | UNKNOWN = 0x01000 | ||
| 34 | }; | ||
| 35 | |||
| 36 | enum BEZIER_COM_TRAJ_DLLAPI GIWCRepresentation { | ||
| 37 | DOUBLE_DESCRIPTION = 0x00001, | ||
| 38 | FORCE = 0x00002, | ||
| 39 | UNKNOWN_REPRESENTATION = 0x00004 | ||
| 40 | }; | ||
| 41 | |||
| 42 | inline ConstraintFlag operator~(ConstraintFlag a) { | ||
| 43 | return static_cast<ConstraintFlag>(~static_cast<const int>(a)); | ||
| 44 | } | ||
| 45 | |||
| 46 | 349 | inline ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b) { | |
| 47 | 349 | return static_cast<ConstraintFlag>(static_cast<const int>(a) | | |
| 48 | 349 | static_cast<const int>(b)); | |
| 49 | } | ||
| 50 | |||
| 51 | 679 | inline ConstraintFlag operator&(ConstraintFlag a, ConstraintFlag b) { | |
| 52 | 679 | return static_cast<ConstraintFlag>(static_cast<const int>(a) & | |
| 53 | 679 | static_cast<const int>(b)); | |
| 54 | } | ||
| 55 | |||
| 56 | inline ConstraintFlag operator^(ConstraintFlag a, ConstraintFlag b) { | ||
| 57 | return static_cast<ConstraintFlag>(static_cast<const int>(a) ^ | ||
| 58 | static_cast<const int>(b)); | ||
| 59 | } | ||
| 60 | |||
| 61 | 10 | inline ConstraintFlag& operator|=(ConstraintFlag& a, ConstraintFlag b) { | |
| 62 | 10 | return (ConstraintFlag&)((int&)(a) |= static_cast<const int>(b)); | |
| 63 | } | ||
| 64 | |||
| 65 | inline ConstraintFlag& operator&=(ConstraintFlag& a, ConstraintFlag b) { | ||
| 66 | return (ConstraintFlag&)((int&)(a) &= static_cast<const int>(b)); | ||
| 67 | } | ||
| 68 | |||
| 69 | 4 | inline ConstraintFlag& operator^=(ConstraintFlag& a, ConstraintFlag b) { | |
| 70 | 4 | return (ConstraintFlag&)((int&)(a) ^= static_cast<const int>(b)); | |
| 71 | } | ||
| 72 | |||
| 73 | } // end namespace bezier_com_traj | ||
| 74 | |||
| 75 | #endif | ||
| 76 |