add Time::is_zero and Duration::seconds (#536)

add Duration::seconds
This commit is contained in:
Dirk Thomas 2018-08-20 08:58:32 -07:00 committed by GitHub
parent 45d74ba4dc
commit 25a9b4e339
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View file

@ -97,6 +97,13 @@ public:
rcl_duration_value_t
nanoseconds() const;
/// \return the duration in seconds as a floating point number.
/// \warning Depending on sizeof(double) there could be significant precision loss.
/// When an exact time is required use nanoseconds() instead.
RCLCPP_PUBLIC
double
seconds() const;
private:
rcl_duration_t rcl_duration_;
};

View file

@ -214,4 +214,10 @@ Duration::nanoseconds() const
return rcl_duration_.nanoseconds;
}
double
Duration::seconds() const
{
return std::chrono::duration<double>(std::chrono::nanoseconds(rcl_duration_.nanoseconds)).count();
}
} // namespace rclcpp