63 template<typename S, typename EnumO>
64 void setIntegrator(
std::shared_ptr<S> integrator, EnumO oPosition, EnumO oVelocity, EnumO oAcceleration)
66 addDirectDependency(Output::Position, integrator, oPosition);
67 addDirectDependency(Output::Velocity, integrator, oVelocity);
68 addDirectDependency(Output::Acceleration, integrator, oAcceleration);
79 typename std::enable_if<std::is_base_of<tvm::graph::abstract::Outputs, S>::value,
int>::type = 0>
80 void setIntegrator(S & integrator, EnumO oPosition, EnumO oVelocity, EnumO oAcceleration)
82 addDirectDependency(Output::Position, integrator, oPosition);
83 addDirectDependency(Output::Velocity, integrator, oVelocity);
84 addDirectDependency(Output::Acceleration, integrator, oAcceleration);
91 void position(
const Eigen::Vector3d & normal,
const Eigen::Vector3d & point);
94 void position(
const Eigen::Vector3d & normal,
double offset);
97 void velocity(
const Eigen::Vector3d & nDot,
const Eigen::Vector3d & speed);
100 void acceleration(
const Eigen::Vector3d & nDotDot,
const Eigen::Vector3d & accel);
103 const Eigen::Vector3d &
normal()
const {
return normal_; }
106 double offset()
const {
return offset_; }
109 const Eigen::Vector3d &
point()
const {
return point_; }
112 const Eigen::Vector3d &
normalDot()
const {
return normalDot_; }
115 const Eigen::Vector3d &
speed()
const {
return speed_; }
124 Eigen::Vector3d normal_;
126 Eigen::Vector3d point_ = Eigen::Vector3d::Zero();
127 Eigen::Vector3d normalDot_ = Eigen::Vector3d::Zero();
128 Eigen::Vector3d speed_ = Eigen::Vector3d::Zero();
129 Eigen::Vector3d normalDotDot_ = Eigen::Vector3d::Zero();
130 Eigen::Vector3d accel_ = Eigen::Vector3d::Zero();
#define SET_OUTPUTS(SelfT,...)
Definition: Outputs.h:113
#define TVM_DLLAPI
Definition: api.h:35
const Eigen::Vector3d & acceleration() const
Definition: Plane.h:121
void velocity(const Eigen::Vector3d &nDot, const Eigen::Vector3d &speed)
const Eigen::Vector3d & point() const
Definition: Plane.h:109
void position(const Eigen::Vector3d &normal, const Eigen::Vector3d &point)
const Eigen::Vector3d & normalDotDot() const
Definition: Plane.h:118
void position(const Eigen::Vector3d &normal, double offset)
const Eigen::Vector3d & speed() const
Definition: Plane.h:115
const Eigen::Vector3d & normal() const
Definition: Plane.h:103
void acceleration(const Eigen::Vector3d &nDotDot, const Eigen::Vector3d &accel)
const Eigen::Vector3d & normalDot() const
Definition: Plane.h:112
double offset() const
Definition: Plane.h:106
void setIntegrator(S &integrator, EnumO oPosition, EnumO oVelocity, EnumO oAcceleration)
Definition: Plane.h:80
Definition: AffineExprDetail.h:95
std::shared_ptr< Plane > PlanePtr
Definition: Plane.h:133