PeriDyno 1.0.0
Loading...
Searching...
No Matches
GroupModule.h
Go to the documentation of this file.
1
16#pragma once
17#include "Module.h"
18
19namespace dyno {
20 class GroupModule : public Module
21 {
22 public:
24 virtual ~GroupModule();
25
26 void pushModule(std::shared_ptr<Module> m);
27
28 const std::list<Module*>& moduleList() const { return mModuleList; }
29
30 void setParentNode(Node* node) override;
31
32 protected:
33 void preprocess() final;
34 void updateImpl() override;
35
36 private:
38
39 bool mModuleUpdated = false;
40
41 std::map<ObjectId, std::shared_ptr<Module>> mModuleMap;
42 std::list<Module*> mModuleList;
43
44 std::list<std::shared_ptr<Module>> mPersistentModule;
45 };
46}
47
void pushModule(std::shared_ptr< Module > m)
void preprocess() final
std::list< Module * > mModuleList
Definition GroupModule.h:42
const std::list< Module * > & moduleList() const
Definition GroupModule.h:28
std::list< std::shared_ptr< Module > > mPersistentModule
Definition GroupModule.h:44
std::map< ObjectId, std::shared_ptr< Module > > mModuleMap
Definition GroupModule.h:41
void setParentNode(Node *node) override
Set the parent node.
virtual ~GroupModule()
void updateImpl() override
Module(std::string name="default")
Definition Module.cpp:7
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
uint32_t ObjectId
Definition Object.h:110