hpp-bezier-com-traj  4.12.0
Multi contact trajectory generation for the COM using Bezier curves
flags.hh
Go to the documentation of this file.
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 
10 
11 namespace bezier_com_traj {
12 enum BEZIER_COM_TRAJ_DLLAPI CostFunction {
13  ACCELERATION = 0x00001,
14  DISTANCE_TRAVELED = 0x00002,
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) { return static_cast<ConstraintFlag>(~static_cast<const int>(a)); }
43 
44 inline ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b) {
45  return static_cast<ConstraintFlag>(static_cast<const int>(a) | static_cast<const int>(b));
46 }
47 
48 inline ConstraintFlag operator&(ConstraintFlag a, ConstraintFlag b) {
49  return static_cast<ConstraintFlag>(static_cast<const int>(a) & static_cast<const int>(b));
50 }
51 
52 inline ConstraintFlag operator^(ConstraintFlag a, ConstraintFlag b) {
53  return static_cast<ConstraintFlag>(static_cast<const int>(a) ^ static_cast<const int>(b));
54 }
55 
56 inline ConstraintFlag& operator|=(ConstraintFlag& a, ConstraintFlag b) {
57  return (ConstraintFlag&)((int&)(a) |= static_cast<const int>(b));
58 }
59 
60 inline ConstraintFlag& operator&=(ConstraintFlag& a, ConstraintFlag b) {
61  return (ConstraintFlag&)((int&)(a) &= static_cast<const int>(b));
62 }
63 
64 inline ConstraintFlag& operator^=(ConstraintFlag& a, ConstraintFlag b) {
65  return (ConstraintFlag&)((int&)(a) ^= static_cast<const int>(b));
66 }
67 
68 } // end namespace bezier_com_traj
69 
70 #endif
FIVE_FREE_VAR
Definition: flags.hh:32
DOUBLE_DESCRIPTION
Definition: flags.hh:37
#define BEZIER_COM_TRAJ_DLLAPI
Definition: local_config.hh:52
ONE_FREE_VAR
Definition: flags.hh:28
ACCELERATION
Definition: flags.hh:13
ConstraintFlag operator^(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:52
INIT_VEL
Definition: flags.hh:21
FOUR_FREE_VAR
Definition: flags.hh:31
DISTANCE_TRAVELED
Definition: flags.hh:14
THREE_FREE_VAR
Definition: flags.hh:30
END_ACC
Definition: flags.hh:25
END_POS
Definition: flags.hh:23
ConstraintFlag & operator &=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:60
INIT_JERK
Definition: flags.hh:26
INIT_ACC
Definition: flags.hh:22
ConstraintFlag operator &(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:48
END_JERK
Definition: flags.hh:27
ConstraintFlag operator~(ConstraintFlag a)
Definition: flags.hh:42
ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:44
END_VEL
Definition: flags.hh:24
ConstraintFlag & operator^=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:64
Definition: common_solve_methods.hh:16
INIT_POS
Definition: flags.hh:20
TARGET_END_VELOCITY
Definition: flags.hh:15
TWO_FREE_VAR
Definition: flags.hh:29
FORCE
Definition: flags.hh:38
ConstraintFlag & operator|=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:56