7 #include <s11n.net/s11n/proxy/std/vector.hpp> 8 #include <s11n.net/s11n/s11nlite.hpp> 12 ICollisionObjectExport *exportObject(
14 return new TimeVariantCollisionObjectExport(sg);
17 const TimeVariantCollisionObject &tvobst) {
20 time_idx <= tvobst.time_end_idx(); time_idx++) {
21 auto obj = tvobst.getObstacleAtTime(time_idx);
27 static_cast<ICollisionObjectExport_s11 *>(obj->exportThis()));
37 s11nlite::node_type &dest)
const {
38 typedef s11nlite::node_traits TR;
39 TR::class_name(dest,
"TimeVariantCollisionObjectExport");
40 for (
auto el : m_children) {
41 if (!el)
return false;
44 res = res && s11n::list::serialize_list(dest,
"children", m_children);
49 const s11nlite::node_type &src) {
50 typedef s11nlite::node_traits TR;
51 bool res = s11n::list::deserialize_list(src,
"children", this->m_children);
57 TimeVariantCollisionObject *tvobj =
59 for (
auto &obj : m_children) {
60 CollisionObject *loaded_obj_ptr = obj->loadObject();
61 if (!loaded_obj_ptr) {
67 tvobj->appendObstacle(std::static_pointer_cast<const Shape>(loaded_obj));
69 tvobj->appendObstacle(
70 std::static_pointer_cast<const ShapeGroup>(loaded_obj));
virtual ~TimeVariantCollisionObjectExport()
TimeVariantCollisionObject can contain a different CollisionObject or ShapeGroup at each time step...
std::vector< ICollisionObjectExport_s11 * > m_children
virtual bool operator()(s11nlite::node_type &dest) const
TimeVariantCollisionObjectExportStruct m_fields
std::shared_ptr< const CollisionObject > CollisionObjectConstPtr
CollisionObject * loadObject(void)
int serialize(const test::BroadphaseFailureCCObj &bf_object, std::ostream &output_stream, const char *format=SERIALIZER_DEFAULT_FORMAT)
TimeVariantCollisionObjectExport()