PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
IO
Cuda
initializeIO.cpp
Go to the documentation of this file.
1
#include "
initializeIO.h
"
2
3
#include "
NodeFactory.h
"
4
5
#include "
PointsLoader.h
"
6
7
8
namespace
dyno
9
{
10
std::atomic<IOInitializer*>
IOInitializer::gInstance
;
11
std::mutex
IOInitializer::gMutex
;
12
13
PluginEntry
*
IOInitializer::instance
()
14
{
15
IOInitializer
* ins =
gInstance
.load(std::memory_order_acquire);
16
if
(!ins) {
17
std::lock_guard<std::mutex> tLock(
gMutex
);
18
ins =
gInstance
.load(std::memory_order_relaxed);
19
if
(!ins) {
20
ins =
new
IOInitializer
();
21
ins->
setName
(
"IO"
);
22
ins->
setVersion
(
"1.0"
);
23
ins->
setDescription
(
"A io library"
);
24
25
gInstance
.store(ins, std::memory_order_release);
26
}
27
}
28
29
return
ins;
30
}
31
32
IOInitializer::IOInitializer
()
33
:
PluginEntry
()
34
{
35
}
36
37
void
IOInitializer::initializeActions
()
38
{
39
NodeFactory
* factory =
NodeFactory::instance
();
40
41
auto
page = factory->
addPage
(
42
"IO"
,
43
"ToolBarIco/Interaction/Interaction.png"
);
44
45
auto
group = page->addGroup(
"Interaction"
);
46
47
group->addAction(
48
"Points Loader"
,
49
"ToolBarIco/Interaction/PointsLoader_v4.png"
,
50
[=]()->std::shared_ptr<Node> {
51
return
std::make_shared<PointsLoader<DataType3f>>();
52
});
53
}
54
}
55
56
dyno::PluginEntry
*
dynoIO::initStaticPlugin
()
57
{
58
if
(
dyno::IOInitializer::instance
()->initialize())
59
return
dyno::IOInitializer::instance
();
60
61
return
nullptr
;
62
}
NodeFactory.h
PointsLoader.h
dyno::IOInitializer::instance
static PluginEntry * instance()
Definition
initializeIO.cpp:13
dyno::IOInitializer::initializeActions
void initializeActions() override
Definition
initializeIO.cpp:37
dyno::IOInitializer::IOInitializer
IOInitializer()
Definition
initializeIO.cpp:32
dyno::IOInitializer::gMutex
static std::mutex gMutex
Definition
initializeIO.h:18
dyno::IOInitializer::gInstance
static std::atomic< IOInitializer * > gInstance
Definition
initializeIO.h:17
dyno::NodeFactory
Definition
NodeFactory.h:98
dyno::NodeFactory::instance
static NodeFactory * instance()
Definition
NodeFactory.cpp:9
dyno::NodeFactory::addPage
std::shared_ptr< NodePage > addPage(std::string name, std::string icon)
Definition
NodeFactory.cpp:54
initializeIO.h
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dynoIO::initStaticPlugin
dyno::PluginEntry * initStaticPlugin()
Definition
initializeIO.cpp:56
dyno::PluginEntry
Definition
PluginEntry.h:14
dyno::PluginEntry::setDescription
void setDescription(std::string desc)
Definition
PluginEntry.cpp:36
dyno::PluginEntry::PluginEntry
PluginEntry()
Definition
PluginEntry.cpp:5
dyno::PluginEntry::setVersion
void setVersion(std::string pluginVersion)
Definition
PluginEntry.cpp:31
dyno::PluginEntry::setName
void setName(std::string pluginName)
Definition
PluginEntry.cpp:26
Generated by
1.13.2