Skip to content

Commit 543bf87

Browse files
committed
added duration message operators
1 parent 86b08f0 commit 543bf87

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Runtime/Scripts/ROS/MessageTypes/Std/ZOROSStdMessages.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,41 @@ public double Seconds {
250250
this.nsecs = (uint)((value - (double)this.secs) * 1000000000.0);
251251
}
252252
}
253+
254+
public static DurationMessage operator +(DurationMessage lhs, DurationMessage rhs) {
255+
return new DurationMessage (lhs.secs + rhs.secs, lhs.nsecs + rhs.nsecs);
256+
}
257+
258+
public static DurationMessage operator -(DurationMessage lhs, DurationMessage rhs) {
259+
return new DurationMessage (lhs.secs - rhs.secs, lhs.nsecs - rhs.nsecs);
260+
}
261+
262+
public static bool operator <(DurationMessage lhs, DurationMessage rhs) {
263+
if (lhs.secs < rhs.secs) {
264+
return true;
265+
} else if (lhs.secs == rhs.secs && lhs.nsecs < rhs.nsecs) {
266+
return true;
267+
}
268+
return false;
269+
}
270+
271+
public static bool operator >(DurationMessage lhs, DurationMessage rhs) {
272+
if (lhs.secs > rhs.secs) {
273+
return true;
274+
} else if (lhs.secs == rhs.secs && lhs.nsecs > rhs.nsecs) {
275+
return true;
276+
}
277+
return false;
278+
}
279+
280+
public static bool operator ==(DurationMessage lhs, DurationMessage rhs) {
281+
return lhs.secs == rhs.secs && lhs.nsecs == rhs.nsecs;
282+
}
283+
284+
public static bool operator !=(DurationMessage lhs, DurationMessage rhs) {
285+
return lhs.secs != rhs.secs || lhs.nsecs != rhs.nsecs;
286+
}
287+
253288
}
254289

255290
}

0 commit comments

Comments
 (0)