syntax = "proto2"; package rst.geometry; option java_outer_classname = "RotationType"; /** * Cartesian 3-dimensional rotatory displacement or orientation. * * The displacement or orientation (orientation being a rotation from * an origin) is in world coordinates and expressed as unit quaternion * (all-zero quaternion denotes an invalid orientation/rotation). * * @author Arne Nordmann */ // @create_collection // @constraint(.qw x .qw + .qx x .qx + .qy x .qy + .qz x .qz = 1) message Rotation { /** * Angle component of the quaternion. */ required double qw = 4; /** * Defines the orientation of the turning axis wrt. the X axis of * the world (or the frame specified in @ref .frame_id). */ required double qx = 5; /** * Defines the orientation of the turning axis wrt. the Y axis of * the world (or the frame specified in @ref .frame_id). */ required double qy = 6; /** * Defines the orientation of the turning axis wrt. the Y axis of * the world (or the frame specified in @ref .frame_id). */ required double qz = 7; /** * Identifier for the coordinate frame of the rotation. */ optional string frame_id = 8; }