18#ifndef AGX_UNRESOLVED_TASK_H
19#define AGX_UNRESOLVED_TASK_H
30# pragma warning( disable : 4275 )
31# pragma warning( disable : 4251 )
45 virtual void configure(TiXmlElement* eTask)
override;
54 const Name& instanceName,
Device* device,
const Path& taskPath,
const Name& implementationName,
57 virtual void run()
override;
73 void valueUpdateCallback(
Parameter* value);
74 bool instantiateProxy();
75 void performLoadAttempts();
78 void tryKernel(
const Path& path);
81 void tryInstanciateTask(TiXmlElement* eTask);
83 void configureInstance();
85 void configure(
const String& function);
87 using Task::configure;
93 void createVerifierTask();
96 static void glInitCallback();
107 Name m_implementation;
115 TiXmlElement* m_eTask;
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGX_DECLARE_VECTOR_TYPES(type)
Templated callback with one argument.
Generalized callback, using std::function.
An agx::Device is an abstract representation of a device on which data can be stored and processed.
Inheritance with partial specialization due to bug with ref_ptr containers.
Inheritance with partial specialization due to bug with ref_ptr containers.
A model is an abstract representation of the class of an agx::Object.
Representation of a name string.
A representation of a task/kernel parameter, which can be bound using a string path or explicitly to ...
Representation of a path, a list of name components.
A representation of a generic task.
const Name & getImplementationName() const
void configureSource(TiXmlElement *eTask)
virtual ~UnresolvedTask()
static void deleteAllConfiguredProxies()
Callback1< UnresolvedTask * > InjectCallback
static Task * load(TiXmlElement *eTask, Device *device)
static Task * parse(const String &function, const InjectCallback &injectCallback=InjectCallback(&UnresolvedTask::injectInstance))
virtual void configure(TiXmlElement *eTask) override
UnresolvedTask(const Name &instanceName, Device *device, const Path &taskPath, const Name &implementationName, const Path &basePath=Path(), const InjectCallback &injectCallback=InjectCallback(&UnresolvedTask::injectInstance))
static agx::Model * ClassModel()
virtual void run() override
Execution callback.
const Name & getInstanceName() const
The agx namespace contains the dynamics/math part of the AGX Dynamics API.