AGX Dynamics 2.39.0.0
Loading...
Searching...
No Matches
agx::ScalarParameter Class Reference

Scalar parameter. More...

#include <Parameter.h>

+ Inheritance diagram for agx::ScalarParameter:

Public Member Functions

 ScalarParameter (const agx::Name &name, agxData::Format *format, UInt8 accessMode, agxData::Value *binding)
 
 ScalarParameter (const agx::Name &name, agxData::Format *format, UInt8 accessMode=agxData::READ, const String &expression="")
 
virtual void commit () override
 
virtual void configure (TiXmlElement *eParameter) override
 
template<typename T >
const T & get () const
 
Real getReal ()
 
virtual ObjectgetResourceImpl (const Path &path, agx::Model *model) override
 
agxData::ValuegetValue ()
 
const agxData::ValuegetValue () const
 
virtual bool isValid () const override
 
void * ptr ()
 
void set (agxData::Value *value)
 Set the parameter value.
 
template<typename T >
void set (const T &value)
 
void setExpression (const String &expression)
 Set the parameter using an expression.
 
void setReal (Real value)
 
virtual void update () override
 
template<typename T >
void write (const T &value, const Task *owner)
 Only for internal use from the task containing this Parameter.
 
- Public Member Functions inherited from agx::Parameter
void bind (agx::Object *binding)
 Set explicit binding.
 
void bind (const agx::Path &path)
 Set parameter bind path.
 
virtual void commit ()=0
 
UInt8 getAccessMode () const
 
agx::ObjectgetBinding ()
 
const agx::ObjectgetBinding () const
 
const agx::PathgetBindPath () const
 
agxData::FormatgetFormat ()
 
const agxData::FormatgetFormat () const
 
size_t getIndex () const
 
MetaType getMetaType () const
 
const agx::StringgetMetaTypeName () const
 
virtual ObjectgetResourceImpl (const Path &path, agx::Model *model) override
 
agx::TaskgetTask ()
 
const agx::TaskgetTask () const
 
virtual agxData::TypegetType ()
 
virtual const agxData::TypegetType () const
 
virtual bool hasGlobalResult () const
 
bool isRequired () const
 
virtual bool isValid () const =0
 
bool needCommit ()
 
bool needUpdate ()
 
virtual void rebind () override
 
void set (agx::Object *binding)
 Set the parameter, alias for bind.
 
void setRequired (bool flag)
 Set if the parameter is required, default is true.
 
void unbind ()
 Remove current binding and bind path.
 
virtual void update ()=0
 
- Public Member Functions inherited from agx::Object
 Object (const Name &name=Name(), Model *model=Object::ClassModel())
 
void addListener (EventListener *listener)
 
virtual void buildNavigationTree (agxJson::Value &eNode) const
 
virtual void configure (TiXmlElement *)
 
agx::String fullName () const
 
agx::String fullPath () const
 
agx::String fullPath (const agx::Object *root) const
 
template<typename T >
T * getAutoScopedResource (const agx::Path &path)
 
template<typename T >
const T * getAutoScopedResource (const agx::Path &path) const
 
agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::ObjectgetContext ()
 
template<typename T >
T * getContext ()
 
const agx::ObjectgetContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::NamegetImplementationName () const
 
agx::ModelgetModel ()
 
const agx::ModelgetModel () const
 
const agx::NamegetName () const
 
agx::ObjectgetNextSibling ()
 
const agx::ObjectgetNextSibling () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
template<typename T >
T * getResource (const agx::Path &path)
 
template<typename T >
const T * getResource (const agx::Path &path) const
 
agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::ObjectgetResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::ObjectgetRootContext ()
 
const agx::ObjectgetRootContext () const
 
bool hasListener (EventListener *listener)
 
bool hasParent (const agx::Object *node) const
 
bool isUnique () const
 
virtual void printSubtree () const
 
virtual void rebind ()
 
void removeListener (EventListener *listener)
 
virtual void save (TiXmlElement *) const
 
virtual void setContext (agx::Object *context)
 
void setId (UInt32 id)
 
void setModel (agx::Model *model)
 Set the object model (handled automatically).
 
void setName (const agx::Name &name)
 Set the name of the object.
 
virtual void snapshot (TiXmlNode *, const String &) const
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Static Public Member Functions

static agx::ModelClassModel ()
 
static ScalarParameterload (TiXmlElement *eParameter, Device *device)
 
- Static Public Member Functions inherited from agx::Parameter
static agx::ModelClassModel ()
 
- Static Public Member Functions inherited from agx::Object
static agx::ModelClassModel ()
 
static agx::String generateName (const agx::String &bindPath)
 
static const HashSet< Object * > & getActiveObjects ()
 
static bool getEnableRebind ()
 Should rebinding be allowed? Right now a global setting.
 
static Objectload (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
static Objectload (const String &path, Device *device, const String &type="", size_t instance=0)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
static void load (const String &path, Device *device, ObjectPtrVector &loadedObjects)
 
static Objectload (TiXmlElement *eObject, Device *device)
 
template<typename T >
static T * load (TiXmlElement *eObject, Device *device)
 
static TiXmlDocument openDocument (const String &path)
 
static void setEnableRebind (bool flag)
 Sets if rebinding of objects should be allowed (Right now a global setting).
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 

Protected Member Functions

virtual ~ScalarParameter ()
 
virtual void _bind (Object *binding) override
 
- Protected Member Functions inherited from agx::Parameter
 Parameter (Model *model, MetaType type, const Name &name, agxData::Format *format, UInt8 accessMode, const Path &bindPath=Path())
 
virtual ~Parameter ()
 
virtual void _bind (Object *binding)=0
 
- Protected Member Functions inherited from agx::Object
virtual ~Object ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Public Types inherited from agx::Parameter
typedef Event1< Parameter * > Event
 
enum  MetaType {
  SCALAR , ARRAY , POINTER , ENTITY_DATA ,
  ENTITY_PTR , ENTITY_INSTANCE , UNRESOLVED
}
 Specify which kind of parameter. More...
 
- Public Types inherited from agx::Object
typedef agx::observer_ptr< const EventEventConstObserver
 
typedef agx::ref_ptr< const EventEventConstRef
 
typedef agx::observer_ptr< EventEventObserver
 
typedef agx::Vector< EventObserverEventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< EventEventRef
 
typedef agx::Vector< EventRefEventRefVector
 
- Public Attributes inherited from agx::Parameter
Event bindEvent
 
Event unbindEvent
 
Event updateEvent
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Parameter
const UInt8 m_accessMode
 
ObjectObserver m_binding
 
Path m_bindPath
 
agxData::FormatRef m_format
 
size_t m_index
 
UInt8 m_metaType
 
bool m_needCommit
 
bool m_needUpdate
 
bool m_required
 
Taskm_task
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Scalar parameter.

Definition at line 255 of file Parameter.h.

Constructor & Destructor Documentation

◆ ScalarParameter() [1/2]

agx::ScalarParameter::ScalarParameter ( const agx::Name name,
agxData::Format format,
UInt8  accessMode = agxData::READ,
const String expression = "" 
)

◆ ScalarParameter() [2/2]

agx::ScalarParameter::ScalarParameter ( const agx::Name name,
agxData::Format format,
UInt8  accessMode,
agxData::Value binding 
)

◆ ~ScalarParameter()

virtual agx::ScalarParameter::~ScalarParameter ( )
protectedvirtual

Member Function Documentation

◆ _bind()

virtual void agx::ScalarParameter::_bind ( Object binding)
overrideprotectedvirtual

Implements agx::Parameter.

References agx::init().

◆ ClassModel()

static agx::Model * agx::ScalarParameter::ClassModel ( )
static

◆ commit()

virtual void agx::ScalarParameter::commit ( )
overridevirtual

Implements agx::Parameter.

◆ configure()

virtual void agx::ScalarParameter::configure ( TiXmlElement *  eParameter)
overridevirtual

Reimplemented from agx::Object.

◆ get()

template<typename T >
const T & agx::ScalarParameter::get

◆ getReal()

Real agx::ScalarParameter::getReal ( )

Definition at line 758 of file Parameter.h.

◆ getResourceImpl()

virtual Object * agx::ScalarParameter::getResourceImpl ( const Path path,
agx::Model model 
)
overridevirtual

Reimplemented from agx::Parameter.

◆ getValue() [1/2]

agxData::Value * agx::ScalarParameter::getValue ( )
Returns
The current value.

Definition at line 713 of file Parameter.h.

◆ getValue() [2/2]

const agxData::Value * agx::ScalarParameter::getValue ( ) const

Definition at line 714 of file Parameter.h.

◆ isValid()

virtual bool agx::ScalarParameter::isValid ( ) const
overridevirtual
Returns
True if the parameter has a valid binding.

Implements agx::Parameter.

◆ load()

static ScalarParameter * agx::ScalarParameter::load ( TiXmlElement *  eParameter,
Device device 
)
static

◆ ptr()

void * agx::ScalarParameter::ptr ( )

Definition at line 747 of file Parameter.h.

◆ set() [1/2]

void agx::ScalarParameter::set ( agxData::Value value)

Set the parameter value.

Referenced by setReal().

◆ set() [2/2]

template<typename T >
void agx::ScalarParameter::set ( const T &  value)

◆ setExpression()

void agx::ScalarParameter::setExpression ( const String expression)

Set the parameter using an expression.

◆ setReal()

void agx::ScalarParameter::setReal ( Real  value)

Definition at line 753 of file Parameter.h.

References set().

◆ update()

virtual void agx::ScalarParameter::update ( )
overridevirtual

Implements agx::Parameter.

◆ write()

template<typename T >
void agx::ScalarParameter::write ( const T &  value,
const Task owner 
)

Only for internal use from the task containing this Parameter.

Definition at line 737 of file Parameter.h.

References agxAssert.


The documentation for this class was generated from the following file: