hpp-bezier-com-traj  4.13.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) {
43  return static_cast<ConstraintFlag>(~static_cast<const int>(a));
44 }
45 
46 inline ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b) {
47  return static_cast<ConstraintFlag>(static_cast<const int>(a) |
48  static_cast<const int>(b));
49 }
50 
51 inline ConstraintFlag operator&(ConstraintFlag a, ConstraintFlag b) {
52  return static_cast<ConstraintFlag>(static_cast<const int>(a) &
53  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 inline ConstraintFlag& operator|=(ConstraintFlag& a, ConstraintFlag b) {
62  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 inline ConstraintFlag& operator^=(ConstraintFlag& a, ConstraintFlag b) {
70  return (ConstraintFlag&)((int&)(a) ^= static_cast<const int>(b));
71 }
72 
73 } // end namespace bezier_com_traj
74 
75 #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:56
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:65
INIT_JERK
Definition: flags.hh:26
INIT_ACC
Definition: flags.hh:22
ConstraintFlag operator &(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:51
END_JERK
Definition: flags.hh:27
ConstraintFlag operator~(ConstraintFlag a)
Definition: flags.hh:42
ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:46
END_VEL
Definition: flags.hh:24
ConstraintFlag & operator^=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:69
Definition: common_solve_methods.hh:15
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:61