hpp-bezier-com-traj  4.10.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
INIT_ACC
INIT_ACC
Definition: flags.hh:22
BEZIER_COM_TRAJ_DLLAPI
#define BEZIER_COM_TRAJ_DLLAPI
Definition: local_config.hh:52
bezier_com_traj::operator^=
ConstraintFlag & operator^=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:64
TWO_FREE_VAR
TWO_FREE_VAR
Definition: flags.hh:29
ACCELERATION
ACCELERATION
Definition: flags.hh:13
FIVE_FREE_VAR
FIVE_FREE_VAR
Definition: flags.hh:32
bezier_com_traj::operator&=
ConstraintFlag & operator&=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:60
bezier_com_traj::operator~
ConstraintFlag operator~(ConstraintFlag a)
Definition: flags.hh:42
FOUR_FREE_VAR
FOUR_FREE_VAR
Definition: flags.hh:31
THREE_FREE_VAR
THREE_FREE_VAR
Definition: flags.hh:30
END_JERK
END_JERK
Definition: flags.hh:27
DISTANCE_TRAVELED
DISTANCE_TRAVELED
Definition: flags.hh:14
ONE_FREE_VAR
ONE_FREE_VAR
Definition: flags.hh:28
END_POS
END_POS
Definition: flags.hh:23
bezier_com_traj::operator&
ConstraintFlag operator&(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:48
local_config.hh
INIT_VEL
INIT_VEL
Definition: flags.hh:21
bezier_com_traj::operator|=
ConstraintFlag & operator|=(ConstraintFlag &a, ConstraintFlag b)
Definition: flags.hh:56
bezier_com_traj::operator^
ConstraintFlag operator^(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:52
INIT_JERK
INIT_JERK
Definition: flags.hh:26
END_ACC
END_ACC
Definition: flags.hh:25
FORCE
FORCE
Definition: flags.hh:38
TARGET_END_VELOCITY
TARGET_END_VELOCITY
Definition: flags.hh:15
DOUBLE_DESCRIPTION
DOUBLE_DESCRIPTION
Definition: flags.hh:37
bezier_com_traj
Definition: common_solve_methods.hh:16
END_VEL
END_VEL
Definition: flags.hh:24
INIT_POS
INIT_POS
Definition: flags.hh:20
bezier_com_traj::operator|
ConstraintFlag operator|(ConstraintFlag a, ConstraintFlag b)
Definition: flags.hh:44