PeriDyno
0.9.2
Loading...
Searching...
No Matches
peridyno
src
Dynamics
Cuda
RigidBody
Vechicle.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Node/ParametricModel.h
"
3
#include "
RigidBodySystem.h
"
4
5
#include "
Topology/TextureMesh.h
"
6
#include "Topology/TriangleSet.h"
7
8
#include "
STL/Pair.h
"
9
10
namespace
dyno
11
{
12
template
<
typename
TDataType>
13
class
Vechicle
:
virtual
public
RigidBodySystem
<TDataType>
14
{
15
DECLARE_TCLASS
(
Vechicle
,
TDataType
)
16
public
:
17
typedef
typename
TDataType::Real
Real
;
18
typedef
typename
TDataType::Coord
Coord
;
19
typedef
typename
TDataType::Matrix
Matrix
;
20
typedef
typename
Pair<uint, uint>
BindingPair
;
21
22
Vechicle
();
23
~Vechicle
()
override
;
24
25
void
bind
(std::shared_ptr<PdActor>
actor
,
Pair<uint, uint>
shapeId
);
26
27
public
:
28
DEF_INSTANCE_IN
(
TextureMesh
,
TextureMesh
,
"Texture mesh of the vechicle"
);
29
30
DEF_INSTANCE_IN
(
TriangleSet<TDataType>
,
TriangleSet
,
"TriangleSet of the boundary"
);
31
32
public
:
33
DEF_ARRAYLIST_STATE
(
Transform3f
,
InstanceTransform
, DeviceType::GPU,
"Instance transforms"
);
34
35
protected
:
36
void
resetStates
()
override
;
37
38
void
updateStates
()
override
;
39
40
void
updateInstanceTransform
();
41
42
private
:
43
std::vector<Pair<uint, uint>>
mBindingPair
;
44
45
std::vector<std::shared_ptr<PdActor>>
mActors
;
46
47
DArray<Matrix>
mInitialRot
;
48
49
DArray<BindingPair>
mBindingPairDevice
;
50
DArray<int>
mBindingTagDevice
;
51
};
52
53
template
<
typename
TDataType>
54
class
Jeep
:
virtual
public
ParametricModel
<TDataType>,
virtual
public
Vechicle
<TDataType>
55
{
56
DECLARE_TCLASS
(
Jeep
,
TDataType
)
57
public
:
58
typedef
typename
TDataType::Real
Real
;
59
typedef
typename
TDataType::Coord
Coord
;
60
61
Jeep
();
62
~Jeep
()
override
;
63
64
protected
:
65
void
resetStates
()
override
;
66
};
67
}
DECLARE_TCLASS
#define DECLARE_TCLASS(name, T1)
Definition
Object.h:87
Pair.h
ParametricModel.h
RigidBodySystem.h
TextureMesh.h
dyno::ArrayMap
Definition
ArrayMap.h:25
dyno::Jeep
Definition
Vechicle.h:55
dyno::Jeep::Jeep
Jeep()
Definition
Vechicle.cpp:199
dyno::Jeep::Coord
TDataType::Coord Coord
Definition
Vechicle.h:59
dyno::Jeep::Real
TDataType::Real Real
Definition
Vechicle.h:58
dyno::Jeep::resetStates
void resetStates() override
Definition
Vechicle.cpp:306
dyno::Jeep::~Jeep
~Jeep() override
Definition
Vechicle.cpp:300
dyno::ParametricModel
Definition
ParametricModel.h:28
dyno::RigidBodySystem
Implementation of a rigid body system containing a variety of rigid bodies with different shapes.
Definition
RigidBodySystem.h:33
dyno::TextureMesh
Definition
TextureMesh.h:71
dyno::Transform< float, 3 >
dyno::TriangleSet
Definition
TriangleSet.h:7
dyno::Vechicle
Definition
Vechicle.h:14
dyno::Vechicle::DEF_INSTANCE_IN
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "TriangleSet of the boundary")
dyno::Vechicle::mBindingPair
std::vector< Pair< uint, uint > > mBindingPair
Definition
Vechicle.h:43
dyno::Vechicle::updateStates
void updateStates() override
Definition
Vechicle.cpp:166
dyno::Vechicle::mBindingTagDevice
DArray< int > mBindingTagDevice
Definition
Vechicle.h:50
dyno::Vechicle::mBindingPairDevice
DArray< BindingPair > mBindingPairDevice
Definition
Vechicle.h:49
dyno::Vechicle::Coord
TDataType::Coord Coord
Definition
Vechicle.h:18
dyno::Vechicle::bind
void bind(std::shared_ptr< PdActor > actor, Pair< uint, uint > shapeId)
Definition
Vechicle.cpp:187
dyno::Vechicle::DEF_ARRAYLIST_STATE
DEF_ARRAYLIST_STATE(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms")
dyno::Vechicle::Matrix
TDataType::Matrix Matrix
Definition
Vechicle.h:19
dyno::Vechicle::Real
TDataType::Real Real
Definition
Vechicle.h:17
dyno::Vechicle::updateInstanceTransform
void updateInstanceTransform()
Definition
Vechicle.cpp:174
dyno::Vechicle::DEF_INSTANCE_IN
DEF_INSTANCE_IN(TextureMesh, TextureMesh, "Texture mesh of the vechicle")
dyno::Vechicle::mInitialRot
DArray< Matrix > mInitialRot
Definition
Vechicle.h:47
dyno::Vechicle::~Vechicle
~Vechicle() override
Definition
Vechicle.cpp:98
dyno::Vechicle::mActors
std::vector< std::shared_ptr< PdActor > > mActors
Definition
Vechicle.h:45
dyno::Vechicle::Vechicle
Vechicle()
Definition
Vechicle.cpp:25
dyno::Vechicle::resetStates
void resetStates() override
Definition
Vechicle.cpp:104
dyno::Vechicle::BindingPair
Pair< uint, uint > BindingPair
Definition
Vechicle.h:20
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:24
Generated by
1.9.8