PeriDyno 1.0.0
Loading...
Searching...
No Matches
PointSetToPointSet.h
Go to the documentation of this file.
1#pragma once
3#include "Topology/PointSet.h"
4
5namespace dyno
6{
7 template<typename TDataType> class PointSet;
8
9 template<typename TDataType>
11 {
12 public:
13 typedef typename TDataType::Real Real;
14 typedef typename TDataType::Coord Coord;
15
17 PointSetToPointSet(std::shared_ptr<PointSet<TDataType>> from, std::shared_ptr<PointSet<TDataType>> to);
19
21
22 void setFrom(std::shared_ptr<PointSet<TDataType>> from) { m_from = from; }
23 void setTo(std::shared_ptr<PointSet<TDataType>> to) { m_to = to; }
24
25 bool apply() override;
26
27 void match(std::shared_ptr<PointSet<TDataType>> from, std::shared_ptr<PointSet<TDataType>> to);
28
29 protected:
30 bool initializeImpl() override;
31
32 private:
33 //Searching radius
34 Real m_radius = 0.0125;
35
37
38 std::shared_ptr<PointSet<TDataType>> m_from = nullptr;
39 std::shared_ptr<PointSet<TDataType>> m_to = nullptr;
40
41 std::shared_ptr<PointSet<TDataType>> m_initFrom = nullptr;
42 std::shared_ptr<PointSet<TDataType>> m_initTo = nullptr;
43 };
44}
A PointSet stores the coordinates for a set of independent points.
Definition PointSet.h:8
std::shared_ptr< PointSet< TDataType > > m_from
std::shared_ptr< PointSet< TDataType > > m_to
bool apply() override
void match(std::shared_ptr< PointSet< TDataType > > from, std::shared_ptr< PointSet< TDataType > > to)
std::shared_ptr< PointSet< TDataType > > m_initTo
std::shared_ptr< PointSet< TDataType > > m_initFrom
~PointSetToPointSet() override
DArrayList< int > mNeighborIds
PointSetToPointSet(std::shared_ptr< PointSet< TDataType > > from, std::shared_ptr< PointSet< TDataType > > to)
void setTo(std::shared_ptr< PointSet< TDataType > > to)
bool initializeImpl() override
void setFrom(std::shared_ptr< PointSet< TDataType > > from)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
ArrayList< ElementType, DeviceType::GPU > DArrayList
Definition ArrayList.inl:83