robot_description_builder/
lib.rs

1#![deny(rustdoc::broken_intra_doc_links)]
2#![deny(rustdoc::unescaped_backticks)]
3#![warn(rustdoc::redundant_explicit_links)]
4// #![warn(missing_docs)]
5// This is fine for now.
6#![doc = include_str!("../README.md")]
7
8mod chained;
9mod cluster_objects;
10mod joint;
11mod link;
12mod transform;
13mod utils;
14mod yank_errors;
15
16pub mod identifiers;
17pub mod material;
18pub mod to_rdf;
19#[doc(hidden)]
20// FIXME: Hidden until correctly implemented
21pub mod transmission;
22pub use chained::Chained;
23pub use cluster_objects::{KinematicInterface, KinematicTree, Robot};
24pub use joint::{joint_data, Joint, JointBuilder, JointType, SmartJointBuilder};
25pub use link::{helper_functions, link_data, Link};
26pub use transform::{MirrorAxis, Transform};
27
28pub mod linkbuilding {
29	pub use super::link::builder::*;
30}
31
32// TODO: Docs
33pub mod prelude {
34	pub use super::cluster_objects::KinematicInterface;
35	pub use super::identifiers::GroupIDChanger;
36	// TODO: maybe add builders to prelude?
37	// pub use joint::{SmartJointBuilder};
38	// pub use material::MaterialDescriptor;
39}
40
41/// Error-types used in `robot-description-builder`.
42pub mod errors {
43	pub use super::cluster_objects::kinematic_data_errors::{
44		AddJointError, AddLinkError, AddMaterialError, AddTransmissionError, AttachChainError,
45	};
46	pub use super::identifiers::GroupIDError;
47	pub use super::yank_errors::{RebuildBranchError, YankJointError, YankLinkError};
48}
49
50/// The important libraries re-exported.
51#[cfg(feature = "wrapper")]
52pub mod reexport {
53	pub use nalgebra;
54	#[cfg(feature = "xml")]
55	pub use quick_xml;
56}
57
58#[cfg(feature = "smart-joint-extension")]
59/// The types required when extending `SmartJointBuilder` functionality.
60// TODO: EXPAND
61pub mod smart_joint_extension {
62	pub mod types {
63		pub use crate::joint::smartjointbuilder::{
64			ContinuousType, FixedType, FloatingType, NoType, PlanarType, PrismaticType,
65			RevoluteType,
66		};
67	}
68	pub use super::joint::smartjointbuilder::smartparams;
69}
70
71#[cfg(test)]
72mod tests {
73	// #![allow(missing_docs)]
74	// #[test]
75	// fn it_works() {
76	// 	let result = add(2, 2);
77	// 	assert_eq!(result, 4);
78	// }
79}