#include <BaseLink.h>
Abstract base class for all links in the scene grapn, independently of their type. More...
Abstract base class for all links in the scene grapn, independently of their type.
Classes | |
class | BaseInitLink |
This internal class is used by the initLink() methods to store initialization parameters of a Data. More... | |
class | InitLink |
This internal class is used by the initLink() methods to store initialization parameters of a Data. More... | |
Public Member Functions | |
BaseLink (LinkFlags flags) | |
BaseLink (const BaseInitLink &init, LinkFlags flags) | |
virtual | ~BaseLink () |
const std::string & | getName () const |
void | setName (const std::string &name) |
const std::string & | getHelp () const |
Get help message. More... | |
void | setHelp (const std::string &val) |
Set help message. More... | |
virtual Base * | getOwnerBase () const =0 |
void | setFlag (LinkFlagsEnum flag, bool b) |
Set one of the flags. More... | |
bool | getFlag (LinkFlagsEnum flag) const |
Get one flag. More... | |
bool | isMultiLink () const |
bool | isStrongLink () const |
bool | isDoubleLink () const |
bool | isDuplicate () const |
bool | storePath () const |
void | setPersistent (bool b) |
Alias to match BaseData API. More... | |
bool | isPersistent () const |
bool | isReadOnly () const |
Alias to match BaseData API. More... | |
virtual const BaseClass * | getDestClass () const =0 |
virtual const BaseClass * | getOwnerClass () const =0 |
int | getCounter () const |
void | setLinkedBase (Base *link) |
virtual size_t | getSize () const =0 |
Base * | getLinkedBase (std::size_t index=0) const |
void | clear () |
std::string | getLinkedPath (const std::size_t index=0) const |
std::string | getPath (std::size_t index=0) const |
Serialization API | |
bool | read (const std::string &str) |
Read the command line. More... | |
bool | updateLinks () |
virtual void | printValue (std::ostream &) const |
Print the value of the associated variable. More... | |
virtual std::string | getValueString () const |
Print the value of the associated variable. More... | |
virtual std::string | getValueTypeString () const |
Print the value type of the associated variable. More... | |
Serialization Helper API | |
unsigned int | m_flags |
std::string | m_name |
std::string | m_help |
int | m_counter |
Number of changes since creation. More... | |
bool | parseString (const std::string &text, std::string *path, std::string *data=nullptr) const |
Base * | getOwner () const |
void | setOwner (Base *owner) |
bool | add (Base *baseptr, const std::string &path) |
Add a new target to the link. More... | |
bool | set (Base *baseptr, size_t index=0) |
Change the link's target at the provided index. More... | |
static bool | ParseString (const std::string &text, std::string *path, std::string *data=nullptr, Base *start=nullptr) |
static std::string | CreateString (const std::string &path, const std::string &data="") |
static std::string | CreateStringPath (Base *object, Base *from) |
static std::string | CreateStringData (BaseData *data) |
static std::string | CreateString (Base *object, Base *from) |
static std::string | CreateString (BaseData *data, Base *from) |
static std::string | CreateString (Base *object, BaseData *data, Base *from) |
void | updateCounter () |
|
protected |
Number of changes since creation.
|
protected |
|
protected |
|
protected |
sofa::core::objectmodel::BaseLink::BaseLink | ( | LinkFlags | flags | ) |
sofa::core::objectmodel::BaseLink::BaseLink | ( | const BaseInitLink & | init, |
LinkFlags | flags | ||
) |
|
virtual |
Add a new target to the link.
|
inline |
|
static |
|
static |
|
static |
|
static |
|
inline |
Return the number of changes since creation This can be used to efficiently detect changes
|
pure virtual |
|
inline |
Get one flag.
|
inline |
Get help message.
|
inline |
std::string sofa::core::objectmodel::BaseLink::getLinkedPath | ( | const std::size_t | index = 0 | ) | const |
|
inline |
|
inline |
|
pure virtual |
|
pure virtual |
|
inline |
|
pure virtual |
|
virtual |
Print the value of the associated variable.
|
virtual |
Print the value type of the associated variable.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
virtual |
Print the value of the associated variable.
bool sofa::core::objectmodel::BaseLink::read | ( | const std::string & | str | ) |
Read the command line.
Returns false if:
Change the link's target at the provided index.
|
inline |
Set one of the flags.
|
inline |
Set help message.
void sofa::core::objectmodel::BaseLink::setLinkedBase | ( | Base * | link | ) |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
bool sofa::core::objectmodel::BaseLink::updateLinks | ( | ) |
Update pointers in case the pointed-to objects have appeared