PeriDyno
1.2.1
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Framework
Field
VehicleInfo.h
Go to the documentation of this file.
1
2
#pragma once
3
#include <vector>
4
#include <memory>
5
#include <string>
6
7
#include "
Vector.h
"
8
#include "
Matrix.h
"
9
#include "
OBase.h
"
10
11
12
namespace
dyno
{
13
14
enum
ConfigMotionType
15
{
16
CMT_Static
= 0,
17
CMT_Kinematic
= 1,
18
CMT_Dynamic
= 2,
19
};
20
21
enum
ConfigShapeType
22
{
23
Box
= 1,
24
Tet
= 2,
25
Capsule
= 4,
26
Sphere
= 8,
27
Tri
= 16,
28
OtherShape
= 999
29
};
30
31
enum
ConfigJointType
32
{
33
BallAndSocket
= 1,
34
Slider
= 2,
35
Hinge
= 3,
36
Fixed
= 4,
37
Point
= 5,
38
OtherJoint
= 999
39
};
40
41
struct
Name_Shape
42
{
43
//Func
44
Name_Shape
() {};
45
Name_Shape
(std::string n,
int
Id = -1)
46
{
47
name
= n;
48
rigidBodyId
= Id;
49
}
50
51
//Var
52
std::string
name
=
""
;
53
int
rigidBodyId
= -1;
54
55
};
56
60
struct
VehicleRigidBodyInfo
61
{
62
VehicleRigidBodyInfo
() {};
63
64
VehicleRigidBodyInfo
(
Name_Shape
name,
int
shapeId,
ConfigShapeType
type,
Real
density = 100);
65
66
VehicleRigidBodyInfo
(
Name_Shape
name,
int
shapeId,
ConfigShapeType
type,
Transform3f
trans,
Real
density = 100);
67
68
//Shape:
69
Name_Shape
shapeName
=
Name_Shape
(
""
);
//2
70
71
int
meshShapeId
= -1;
//1 //3
72
ConfigShapeType
shapeType
=
ConfigShapeType::Capsule
;
//1 //4
73
Transform3f
transform
=
Transform3f
(
Vec3f
(0), Mat3f::identityMatrix(),
Vec3f
(1));
//15 //19
74
Vec3f
Offset
=
Vec3f
(0);
//3 //22
75
76
Vec3f
mHalfLength
=
Vec3f
(1);
//3 //25 // if(type == Box);
77
float
radius
= 1;
//1 //26 // if(type == Sphere); if(type == Capsule);
78
std::vector<Vec3f>
tet
= {
Vec3f
(0),
Vec3f
(0),
Vec3f
(0),
Vec3f
(0,1,0) };
//12 //38 // if(type == Tet);
79
float
capsuleLength
= 1;
//1 //39 // if(type == Capsule);
80
ConfigMotionType
motion
=
ConfigMotionType::CMT_Dynamic
;
//1 //40
81
82
Real
mDensity
= 100;
//1 //41
83
84
uint
rigidGroup
= 0;
//1 //42
85
};
86
90
struct
VehicleJointInfo
91
{
92
VehicleJointInfo
() {};
93
VehicleJointInfo
(
Name_Shape
Name1,
Name_Shape
Name2,
ConfigJointType
typeIn,
Vector<Real, 3>
Axi =
Vec3f
(1, 0, 0),
Vector<Real, 3>
Point
=
Vec3f
(0),
bool
Moter =
false
,
Real
moter = 0,
bool
Range =
false
,
Real
min = 0,
Real
max
= 0);
94
95
ConfigJointType
mJointType
;
//1
96
Name_Shape
mRigidBodyName_1
;
//2
97
Name_Shape
mRigidBodyName_2
;
//2
98
bool
mUseMoter
=
false
;
//1
99
bool
mUseRange
=
false
;
//1
100
Vector<Real, 3>
mAnchorPoint
=
Vec3f
(0);
//3
101
Real
mMin
= 0;
//1
102
Real
mMax
= 0;
//1
103
Real
mMoter
= 0;
//1
104
Vector<Real, 3>
mAxis
=
Vector<Real, 3>
(1,0,0);
//3
105
};
106
107
113
class
VehicleBind
114
{
115
public
:
116
VehicleBind
() {};
117
VehicleBind
(
int
size);
118
~VehicleBind
();
119
120
bool
isValid
() {
return
mVehicleRigidBodyInfo
.size();}
121
122
std::vector<VehicleRigidBodyInfo>
mVehicleRigidBodyInfo
;
123
std::vector<VehicleJointInfo>
mVehicleJointInfo
;
124
125
126
127
};
128
129
class
Animation2JointConfig
130
{
131
public
:
132
133
Animation2JointConfig
() {}
134
Animation2JointConfig
(std::string name,
int
id
,
uint
axis)
135
{
136
this->
JointName
= name;
137
this->
JointId
= id;
138
this->
Axis
= axis;
139
}
140
Animation2JointConfig
(std::string name,
int
id
,
uint
axis,
float
intensity)
141
{
142
this->
JointName
= name;
143
this->
JointId
= id;
144
this->
Axis
= axis;
145
this->
Intensity
= intensity;
146
}
147
std::string
JointName
;
148
int
JointId
= -1;
149
uint
Axis
= 0;
150
float
Intensity
= 1;
151
};
152
153
154
}
155
#include "
VehicleInfo.inl
"
156
Matrix.h
OBase.h
Real
double Real
Definition
Typedef.inl:23
Vector.h
VehicleInfo.inl
dyno::Animation2JointConfig::JointId
int JointId
Definition
VehicleInfo.h:148
dyno::Animation2JointConfig::JointName
std::string JointName
Definition
VehicleInfo.h:147
dyno::Animation2JointConfig::Axis
uint Axis
Definition
VehicleInfo.h:149
dyno::Animation2JointConfig::Animation2JointConfig
Animation2JointConfig(std::string name, int id, uint axis)
Definition
VehicleInfo.h:134
dyno::Animation2JointConfig::Intensity
float Intensity
Definition
VehicleInfo.h:150
dyno::Animation2JointConfig::Animation2JointConfig
Animation2JointConfig(std::string name, int id, uint axis, float intensity)
Definition
VehicleInfo.h:140
dyno::Animation2JointConfig::Animation2JointConfig
Animation2JointConfig()
Definition
VehicleInfo.h:133
dyno::Vector
Definition
VectorBase.h:24
dyno::VehicleBind::mVehicleRigidBodyInfo
std::vector< VehicleRigidBodyInfo > mVehicleRigidBodyInfo
Definition
VehicleInfo.h:122
dyno::VehicleBind::VehicleBind
VehicleBind()
Definition
VehicleInfo.h:116
dyno::VehicleBind::isValid
bool isValid()
Definition
VehicleInfo.h:120
dyno::VehicleBind::~VehicleBind
~VehicleBind()
Definition
VehicleInfo.cpp:60
dyno::VehicleBind::mVehicleJointInfo
std::vector< VehicleJointInfo > mVehicleJointInfo
Definition
VehicleInfo.h:123
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dyno::ConfigJointType
ConfigJointType
Definition
VehicleInfo.h:32
dyno::Point
@ Point
Definition
VehicleInfo.h:37
dyno::BallAndSocket
@ BallAndSocket
Definition
VehicleInfo.h:33
dyno::OtherJoint
@ OtherJoint
Definition
VehicleInfo.h:38
dyno::Slider
@ Slider
Definition
VehicleInfo.h:34
dyno::Hinge
@ Hinge
Definition
VehicleInfo.h:35
dyno::Fixed
@ Fixed
Definition
VehicleInfo.h:36
dyno::ConfigShapeType
ConfigShapeType
Definition
VehicleInfo.h:22
dyno::Tet
@ Tet
Definition
VehicleInfo.h:24
dyno::Tri
@ Tri
Definition
VehicleInfo.h:27
dyno::Box
@ Box
Definition
VehicleInfo.h:23
dyno::Sphere
@ Sphere
Definition
VehicleInfo.h:26
dyno::OtherShape
@ OtherShape
Definition
VehicleInfo.h:28
dyno::Capsule
@ Capsule
Definition
VehicleInfo.h:25
dyno::Transform3f
Transform< float, 3 > Transform3f
Definition
Transform3x3.h:46
dyno::Vec3f
Vector< float, 3 > Vec3f
Definition
Vector3D.h:93
dyno::uint
unsigned int uint
Definition
VkProgram.h:14
dyno::ConfigMotionType
ConfigMotionType
Definition
VehicleInfo.h:15
dyno::CMT_Static
@ CMT_Static
Definition
VehicleInfo.h:16
dyno::CMT_Dynamic
@ CMT_Dynamic
Definition
VehicleInfo.h:18
dyno::CMT_Kinematic
@ CMT_Kinematic
Definition
VehicleInfo.h:17
dyno::Name_Shape
Definition
VehicleInfo.h:42
dyno::Name_Shape::Name_Shape
Name_Shape()
Definition
VehicleInfo.h:44
dyno::Name_Shape::rigidBodyId
int rigidBodyId
Definition
VehicleInfo.h:53
dyno::Name_Shape::name
std::string name
Definition
VehicleInfo.h:52
dyno::Name_Shape::Name_Shape
Name_Shape(std::string n, int Id=-1)
Definition
VehicleInfo.h:45
dyno::VehicleJointInfo::mMoter
Real mMoter
Definition
VehicleInfo.h:103
dyno::VehicleJointInfo::mMax
Real mMax
Definition
VehicleInfo.h:102
dyno::VehicleJointInfo::mAnchorPoint
Vector< Real, 3 > mAnchorPoint
Definition
VehicleInfo.h:100
dyno::VehicleJointInfo::mUseRange
bool mUseRange
Definition
VehicleInfo.h:99
dyno::VehicleJointInfo::mJointType
ConfigJointType mJointType
Definition
VehicleInfo.h:95
dyno::VehicleJointInfo::mRigidBodyName_2
Name_Shape mRigidBodyName_2
Definition
VehicleInfo.h:97
dyno::VehicleJointInfo::mMin
Real mMin
Definition
VehicleInfo.h:101
dyno::VehicleJointInfo::mRigidBodyName_1
Name_Shape mRigidBodyName_1
Definition
VehicleInfo.h:96
dyno::VehicleJointInfo::mUseMoter
bool mUseMoter
Definition
VehicleInfo.h:98
dyno::VehicleJointInfo::mAxis
Vector< Real, 3 > mAxis
Definition
VehicleInfo.h:104
dyno::VehicleJointInfo::VehicleJointInfo
VehicleJointInfo()
Definition
VehicleInfo.h:92
dyno::VehicleRigidBodyInfo::capsuleLength
float capsuleLength
Definition
VehicleInfo.h:79
dyno::VehicleRigidBodyInfo::radius
float radius
Definition
VehicleInfo.h:77
dyno::VehicleRigidBodyInfo::tet
std::vector< Vec3f > tet
Definition
VehicleInfo.h:78
dyno::VehicleRigidBodyInfo::rigidGroup
uint rigidGroup
Definition
VehicleInfo.h:84
dyno::VehicleRigidBodyInfo::Offset
Vec3f Offset
Definition
VehicleInfo.h:74
dyno::VehicleRigidBodyInfo::motion
ConfigMotionType motion
Definition
VehicleInfo.h:80
dyno::VehicleRigidBodyInfo::transform
Transform3f transform
Definition
VehicleInfo.h:73
dyno::VehicleRigidBodyInfo::shapeName
Name_Shape shapeName
Definition
VehicleInfo.h:69
dyno::VehicleRigidBodyInfo::shapeType
ConfigShapeType shapeType
Definition
VehicleInfo.h:72
dyno::VehicleRigidBodyInfo::mHalfLength
Vec3f mHalfLength
Definition
VehicleInfo.h:76
dyno::VehicleRigidBodyInfo::VehicleRigidBodyInfo
VehicleRigidBodyInfo()
Definition
VehicleInfo.h:62
dyno::VehicleRigidBodyInfo::mDensity
Real mDensity
Definition
VehicleInfo.h:82
dyno::VehicleRigidBodyInfo::meshShapeId
int meshShapeId
Definition
VehicleInfo.h:71
max
#define max(x, y)
Definition
svd3_cuda.h:41
Generated by
1.13.2