PeriDyno 1.0.0
Loading...
Searching...
No Matches
InstanceTransform.h
Go to the documentation of this file.
1#pragma once
2#include "STL/Pair.h"
4
5namespace dyno
6{
7 template<typename TDataType> class Frame;
8 template<typename TDataType> class PointSet;
9
10 template<typename TDataType>
12 {
14 public:
15 typedef typename TDataType::Real Real;
16 typedef typename TDataType::Coord Coord;
17 typedef typename TDataType::Matrix Matrix;
18 typedef typename ::dyno::Pair<uint, uint> BindingPair;
19
21 ~InstanceTransform() override;
22
23 public:
24 DEF_ARRAY_IN(Coord, Center, DeviceType::GPU, "Center of rigid bodies");
25
26 DEF_ARRAY_IN(Matrix, RotationMatrix, DeviceType::GPU, "Rotation matrix of rigid bodies");
27
28 DEF_ARRAY_IN(BindingPair, BindingPair, DeviceType::GPU, "");
29
30 DEF_ARRAY_IN(int, BindingTag, DeviceType::GPU, "");
31
32 DEF_ARRAYLIST_IN(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms");
33
34 DEF_ARRAYLIST_OUT(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms");
35
36 protected:
37 void compute() override;
38 };
39}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
A frame represents a point equipped with the orientation.
Definition Frame.h:14
DEF_ARRAY_IN(Coord, Center, DeviceType::GPU, "Center of rigid bodies")
DEF_ARRAY_IN(Matrix, RotationMatrix, DeviceType::GPU, "Rotation matrix of rigid bodies")
DEF_ARRAYLIST_OUT(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms")
DEF_ARRAYLIST_IN(Transform3f, InstanceTransform, DeviceType::GPU, "Instance transforms")
::dyno::Pair< uint, uint > BindingPair
DEF_ARRAY_IN(int, BindingTag, DeviceType::GPU, "")
DEF_ARRAY_IN(BindingPair, BindingPair, DeviceType::GPU, "")
A PointSet stores the coordinates for a set of independent points.
Definition PointSet.h:8
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Transform< float, 3 > Transform3f