#![cfg_attr(docsrs, feature(doc_cfg))]
#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod bytes;
pub mod command;
mod decoder;
mod error;
pub mod frame;
pub mod generate;
mod message;
pub mod modeldef;
pub mod serverinfo;
mod version;
#[cfg(feature = "imagery")]
pub mod imagery;
#[cfg(feature = "nalgebra")]
mod nalgebra_conv;
#[cfg(feature = "net")]
pub mod net;
pub use decoder::{DecodedMessage, Decoder};
pub use error::{Error, Result};
pub use frame::{
Asset, Device, ForcePlate, FrameOfData, FrameTiming, LabeledMarker, MarkerSet, RawSection,
RigidBody, Skeleton,
};
pub use generate::{PlannedBody, PlannedSections, SyntheticServer};
pub use message::{
HEADER_LEN, MessageHeader, NAT_CONNECT, NAT_DISCONNECT, NAT_DISCONNECTBYTIMEOUT, NAT_DISCOVERY,
NAT_ECHOREQUEST, NAT_ECHORESPONSE, NAT_FRAMEOFDATA, NAT_KEEPALIVE, NAT_MESSAGESTRING,
NAT_MODELDEF, NAT_REQUEST, NAT_REQUEST_FRAMEOFDATA, NAT_REQUEST_MODELDEF, NAT_RESPONSE,
NAT_SERVERINFO, NAT_UNRECOGNIZED_REQUEST, parse_message_string,
};
pub use modeldef::{
AssetDef, CameraDef, DataSet, DeviceDef, ForcePlateDef, MarkerDef, MarkerSetDef, ModelDef,
RigidBodyDef, SkeletonDef,
};
pub use serverinfo::{ConnectionInfo, ServerInfo};
pub use version::{ParsePolicy, Version};
#[cfg(feature = "nalgebra")]
pub use nalgebra_conv::marker_vector;
#[derive(Debug, Clone, PartialEq)]
#[non_exhaustive]
pub enum Message {
ServerInfo(ServerInfo),
ModelDef(ModelDef),
FrameOfData(Box<FrameOfData>),
Other {
id: u16,
payload: Vec<u8>,
},
}
#[cfg(doctest)]
#[doc = include_str!("../README.md")]
struct ReadmeDoctests;