PeriDyno 1.0.0
Loading...
Searching...
No Matches
MultibodySystem.h
Go to the documentation of this file.
1
16#pragma once
17
18#include "RigidBodySystem.h"
19
20#include "Topology/TriangleSet.h"
21
22namespace dyno
23{
24 template<typename TDataType>
25 class MultibodySystem : public RigidBodySystem<TDataType>
26 {
28 public:
29 typedef typename TDataType::Real Real;
30 typedef typename TDataType::Coord Coord;
31 typedef typename TDataType::Matrix Matrix;
32 typedef typename ::dyno::Pair<uint, uint> BindingPair;
33
35 ~MultibodySystem() override;
36
37 public:
41 DEF_VAR(std::vector<Transform3f>, VehiclesTransform, std::vector<Transform3f>{Transform3f()}, "");
42
43 DEF_INSTANCE_IN(TriangleSet<TDataType>, TriangleSet, "TriangleSet of the boundary");
44
45 public:
47
48 DEF_ARRAYLIST_STATE(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms");
49
50 protected:
51 void resetStates() override;
52
53 void postUpdateStates() override;
54
55 bool validateInputs() override;
56 };
57}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
DEF_ARRAYLIST_STATE(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms")
void postUpdateStates() override
bool validateInputs() override
DEF_VAR(std::vector< Transform3f >, VehiclesTransform, std::vector< Transform3f >{Transform3f()}, "")
Creates multiple vehicles and specifies the transformations for each vehicle.
::dyno::Pair< uint, uint > BindingPair
DEF_NODE_PORTS(RigidBodySystem< TDataType >, Vehicle, "")
TDataType::Coord Coord
void resetStates() override
TDataType::Matrix Matrix
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "TriangleSet of the boundary")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Transform< float, 3 > Transform3f