21#ifndef GENERATED_AGX_THREADTIMELINEENTRY_H_PLUGIN
22#define GENERATED_AGX_THREADTIMELINEENTRY_H_PLUGIN
24#define AGX_ENTITY_WRAPPER 1
30# pragma warning( disable : 4505 )
32# pragma warning( disable : 4251 )
34# pragma warning( disable : 4355 )
36# pragma warning( disable: 4714 )
55 class ThreadTimelineEntryModel;
56 class ThreadTimelineEntryData;
57 class ThreadTimelineEntryPtr;
58 class ThreadTimelineEntryInstance;
59 class ThreadTimelineEntrySemantics;
105 virtual void configure(agx::TiXmlElement* eEntity)
override;
113 #ifndef AGX_THREADTIMELINEENTRY_DATA_SET_OVERRIDE
114 #define AGX_THREADTIMELINEENTRY_DATA_SET
115 class AGXCORE_EXPORT ThreadTimelineEntryData :
public agxData::EntityData
118 ThreadTimelineEntryInstance operator[] (
size_t index);
151 ThreadTimelineEntryData();
154 virtual ~ThreadTimelineEntryData() {}
155 virtual void setNumElements(
agx::Index numElements)
override;
158 ThreadTimelineEntryData& operator= (
const ThreadTimelineEntryData&) {
return *
this; }
202 friend class ThreadTimelineEntryPtr;
203 friend class ThreadTimelineEntryInstance;
204 ThreadTimelineEntrySemantics();
233 const ThreadTimelineEntryData*
getData()
const;
303 ThreadTimelineEntryInstance();
304 ThreadTimelineEntryInstance(ThreadTimelineEntryData* data,
agx::Index index);
309 ThreadTimelineEntryData* getData();
310 const ThreadTimelineEntryData* getData()
const;
387 inline ThreadTimelineEntryInstance
agx::ThreadTimelineEntryData::operator[] (
size_t index) {
return ThreadTimelineEntryInstance(
this, (
agx::Index)index); }
394 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
401 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
409 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
410 EntityPtr::getModel()->fullPath().c_str(), ThreadTimelineEntryModel::instance()->fullPath().c_str());
418 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
419 EntityPtr::getModel()->fullPath().c_str(), ThreadTimelineEntryModel::instance()->fullPath().c_str());
425 AGX_FORCE_INLINE ThreadTimelineEntrySemantics* ThreadTimelineEntryPtr::operator->() {
return (ThreadTimelineEntrySemantics* )
this; }
426 AGX_FORCE_INLINE const ThreadTimelineEntrySemantics* ThreadTimelineEntryPtr::operator->()
const {
return (
const ThreadTimelineEntrySemantics* )
this; }
431 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryPtr::taskId()
const { verifyIndex();
return getData()->taskId[calculateIndex()]; }
433 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryPtr::startTimeGlobal() { verifyIndex();
return getData()->startTimeGlobal[calculateIndex()]; }
434 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryPtr::startTimeGlobal()
const { verifyIndex();
return getData()->startTimeGlobal[calculateIndex()]; }
436 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryPtr::endTimeGlobal() { verifyIndex();
return getData()->endTimeGlobal[calculateIndex()]; }
437 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryPtr::endTimeGlobal()
const { verifyIndex();
return getData()->endTimeGlobal[calculateIndex()]; }
439 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryPtr::startTimeFrame() { verifyIndex();
return getData()->startTimeFrame[calculateIndex()]; }
440 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryPtr::startTimeFrame()
const { verifyIndex();
return getData()->startTimeFrame[calculateIndex()]; }
442 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryPtr::endTimeFrame() { verifyIndex();
return getData()->endTimeFrame[calculateIndex()]; }
443 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryPtr::endTimeFrame()
const { verifyIndex();
return getData()->endTimeFrame[calculateIndex()]; }
445 AGX_FORCE_INLINE agx::String& ThreadTimelineEntryPtr::description() { verifyIndex();
return getData()->description[calculateIndex()]; }
446 AGX_FORCE_INLINE agx::String const& ThreadTimelineEntryPtr::description()
const { verifyIndex();
return getData()->description[calculateIndex()]; }
448 AGX_FORCE_INLINE agx::UInt32& ThreadTimelineEntryPtr::costEstimate() { verifyIndex();
return getData()->costEstimate[calculateIndex()]; }
449 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryPtr::costEstimate()
const { verifyIndex();
return getData()->costEstimate[calculateIndex()]; }
452 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryPtr::poolSize()
const { verifyIndex();
return getData()->poolSize[calculateIndex()]; }
454 AGX_FORCE_INLINE agx::UInt8& ThreadTimelineEntryPtr::jobType() { verifyIndex();
return getData()->jobType[calculateIndex()]; }
455 AGX_FORCE_INLINE agx::UInt8 const& ThreadTimelineEntryPtr::jobType()
const { verifyIndex();
return getData()->jobType[calculateIndex()]; }
458 AGX_FORCE_INLINE agx::UInt64 const& ThreadTimelineEntryPtr::jobPtr()
const { verifyIndex();
return getData()->jobPtr[calculateIndex()]; }
460 AGX_FORCE_INLINE agx::String& ThreadTimelineEntryPtr::extraDataTitle() { verifyIndex();
return getData()->extraDataTitle[calculateIndex()]; }
461 AGX_FORCE_INLINE agx::String const& ThreadTimelineEntryPtr::extraDataTitle()
const { verifyIndex();
return getData()->extraDataTitle[calculateIndex()]; }
463 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryPtr::extraData() { verifyIndex();
return getData()->extraData[calculateIndex()]; }
464 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryPtr::extraData()
const { verifyIndex();
return getData()->extraData[calculateIndex()]; }
467 AGX_FORCE_INLINE ThreadTimelineEntryInstance::ThreadTimelineEntryInstance() {}
468 AGX_FORCE_INLINE ThreadTimelineEntryInstance::ThreadTimelineEntryInstance(ThreadTimelineEntryData* data,
agx::Index index) :
agxData::EntityInstance(data, index) {}
473 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
480 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
489 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryInstance::taskId()
const { verifyIndex();
return getData()->taskId[getIndex()]; }
491 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryInstance::startTimeGlobal() { verifyIndex();
return getData()->startTimeGlobal[getIndex()]; }
492 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryInstance::startTimeGlobal()
const { verifyIndex();
return getData()->startTimeGlobal[getIndex()]; }
494 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryInstance::endTimeGlobal() { verifyIndex();
return getData()->endTimeGlobal[getIndex()]; }
495 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryInstance::endTimeGlobal()
const { verifyIndex();
return getData()->endTimeGlobal[getIndex()]; }
497 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryInstance::startTimeFrame() { verifyIndex();
return getData()->startTimeFrame[getIndex()]; }
498 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryInstance::startTimeFrame()
const { verifyIndex();
return getData()->startTimeFrame[getIndex()]; }
500 AGX_FORCE_INLINE agx::Real64& ThreadTimelineEntryInstance::endTimeFrame() { verifyIndex();
return getData()->endTimeFrame[getIndex()]; }
501 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryInstance::endTimeFrame()
const { verifyIndex();
return getData()->endTimeFrame[getIndex()]; }
503 AGX_FORCE_INLINE agx::String& ThreadTimelineEntryInstance::description() { verifyIndex();
return getData()->description[getIndex()]; }
504 AGX_FORCE_INLINE agx::String const& ThreadTimelineEntryInstance::description()
const { verifyIndex();
return getData()->description[getIndex()]; }
506 AGX_FORCE_INLINE agx::UInt32& ThreadTimelineEntryInstance::costEstimate() { verifyIndex();
return getData()->costEstimate[getIndex()]; }
507 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryInstance::costEstimate()
const { verifyIndex();
return getData()->costEstimate[getIndex()]; }
510 AGX_FORCE_INLINE agx::UInt32 const& ThreadTimelineEntryInstance::poolSize()
const { verifyIndex();
return getData()->poolSize[getIndex()]; }
513 AGX_FORCE_INLINE agx::UInt8 const& ThreadTimelineEntryInstance::jobType()
const { verifyIndex();
return getData()->jobType[getIndex()]; }
516 AGX_FORCE_INLINE agx::UInt64 const& ThreadTimelineEntryInstance::jobPtr()
const { verifyIndex();
return getData()->jobPtr[getIndex()]; }
518 AGX_FORCE_INLINE agx::String& ThreadTimelineEntryInstance::extraDataTitle() { verifyIndex();
return getData()->extraDataTitle[getIndex()]; }
519 AGX_FORCE_INLINE agx::String const& ThreadTimelineEntryInstance::extraDataTitle()
const { verifyIndex();
return getData()->extraDataTitle[getIndex()]; }
522 AGX_FORCE_INLINE agx::Real64 const& ThreadTimelineEntryInstance::extraData()
const { verifyIndex();
return getData()->extraData[getIndex()]; }
525 AGX_FORCE_INLINE ThreadTimelineEntrySemantics::ThreadTimelineEntrySemantics() {}
537#undef AGX_ENTITY_WRAPPER
538#undef AGX_ENTITY_NAMESPACE
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGX_TYPE_BINDING(_Type, _Name)
Type-specific Array used for fast access into the data held by a Buffer.
Entity instance provides access to a single instance in an EntityStorage.
bool isInstanceOf(agxData::EntityModel *model) const
agxData::EntityData * getData()
An abstract description of a data entity stored using SOA (structure of arrays) pattern in a EntitySt...
Accessor to a entity instance stored in a EntityStorage, to allow SOA (structure of arrays) data to b...
EntityPtr & operator=(const EntityPtr &other)=default
bool isInstanceOf(agxData::EntityModel *model) const
agxData::EntityData * getData()
agxData::EntityInstance instance()
Data storage for a collection of entity instances of a specified EntityModel.
agx::String fullPath() const
Abstract description of the data attributes for the ThreadTimelineEntry entity.
virtual void shutdownCleanup() override
This is part of internal cleanup and should not be called by users.
static agxData::ScalarAttributeT< agx::Real64 > * endTimeFrameAttribute
ThreadTimelineEntryPtr PtrT
virtual void initAttributeAccessors() override
virtual void construct(agxData::EntityPtr instance) override
virtual ~ThreadTimelineEntryModel()
static agxData::ScalarAttributeT< agx::UInt64 > * jobPtrAttribute
static agxData::ScalarAttributeT< agx::Real64 > * endTimeGlobalAttribute
static agxData::EntityStorage * defaultStorage()
static agxData::ScalarAttributeT< agx::UInt32 > * poolSizeAttribute
virtual agxData::EntityData * createData(agxData::EntityStorage *storage) override
static ThreadTimelineEntryPtr createInstance()
Create and return a pointer to a new instance in the default storage for this entity model.
static agxData::ScalarAttributeT< agx::Real64 > * startTimeFrameAttribute
static agxData::ScalarAttributeT< agx::UInt32 > * costEstimateAttribute
static agxData::ScalarAttributeT< agx::UInt32 > * taskIdAttribute
static agxData::ScalarAttributeT< agx::String > * descriptionAttribute
ThreadTimelineEntryModel(const agx::String &name="ThreadTimelineEntry")
static agxData::ScalarAttributeT< agx::Real64 > * startTimeGlobalAttribute
void construct(agx::ThreadTimelineEntryPtr threadTimelineEntry)
static agxData::ScalarAttributeT< agx::UInt8 > * jobTypeAttribute
virtual void configure(agx::TiXmlElement *eEntity) override
static agxData::ScalarAttributeT< agx::String > * extraDataTitleAttribute
static ThreadTimelineEntryModel * instance()
static agxData::ScalarAttributeT< agx::Real64 > * extraDataAttribute
Pointer to a entity instance of type ThreadTimelineEntry.
AGXCORE_EXPORT agx::UInt32 const & taskId() const
AGXCORE_EXPORT agx::UInt32 const & poolSize() const
AGXCORE_EXPORT agx::UInt32 & costEstimate()
AGXCORE_EXPORT agx::String & extraDataTitle()
AGXCORE_EXPORT agx::Real64 & extraData()
AGXCORE_EXPORT ThreadTimelineEntryPtr()
AGXCORE_EXPORT agx::Real64 const & startTimeFrame() const
AGXCORE_EXPORT agx::Real64 & endTimeFrame()
AGXCORE_EXPORT ThreadTimelineEntryPtr(const agxData::EntityPtr &ptr)
AGXCORE_EXPORT const ThreadTimelineEntryInstance instance() const
AGXCORE_EXPORT ThreadTimelineEntryPtr(const agxData::EntityInstance &instance)
AGXCORE_EXPORT agx::UInt64 & jobPtr()
AGXCORE_EXPORT agx::String const & extraDataTitle() const
AGXCORE_EXPORT agx::UInt8 const & jobType() const
AGXCORE_EXPORT ThreadTimelineEntrySemantics * operator->()
AGXCORE_EXPORT agx::Real64 const & startTimeGlobal() const
ThreadTimelineEntryData DataType
AGXCORE_EXPORT agx::UInt32 const & costEstimate() const
AGXCORE_EXPORT agx::Real64 const & endTimeFrame() const
AGXCORE_EXPORT agx::Real64 & startTimeGlobal()
AGXCORE_EXPORT agx::UInt32 & poolSize()
AGXCORE_EXPORT agx::UInt32 & taskId()
AGXCORE_EXPORT agx::Real64 & startTimeFrame()
AGXCORE_EXPORT agx::Real64 & endTimeGlobal()
const ThreadTimelineEntryData * getData() const
AGXCORE_EXPORT agx::Real64 const & endTimeGlobal() const
ThreadTimelineEntryData * getData()
AGXCORE_EXPORT agx::UInt8 & jobType()
AGXCORE_EXPORT agx::Real64 const & extraData() const
AGXCORE_EXPORT agx::String & description()
ThreadTimelineEntryInstance InstanceType
AGXCORE_EXPORT ThreadTimelineEntryInstance instance()
AGXCORE_EXPORT agx::UInt64 const & jobPtr() const
AGXCORE_EXPORT agx::String const & description() const
AGXCORE_EXPORT ThreadTimelineEntryPtr(agxData::EntityStorage *storage, agx::Index id)
ThreadTimelineEntryModel ModelType
AGXCORE_EXPORT const ThreadTimelineEntrySemantics * operator->() const
Vector containing 'raw' data.
#define agxAssertN(expr, format,...)
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
Contains classes for low level data storage for AGX.
The agx namespace contains the dynamics/math part of the AGX Dynamics API.