|
| SdfAbstractData () |
|
virtual SDF_API | ~SdfAbstractData () |
|
virtual SDF_API void | CopyFrom (const SdfAbstractDataConstPtr &source) |
|
virtual SDF_API bool | StreamsData () const =0 |
|
virtual SDF_API bool | IsDetached () const |
|
virtual SDF_API bool | IsEmpty () const |
|
virtual SDF_API bool | Equals (const SdfAbstractDataRefPtr &rhs) const |
|
virtual SDF_API void | WriteToStream (std::ostream &out) const |
|
|
virtual SDF_API void | CreateSpec (const SdfPath &path, SdfSpecType specType)=0 |
|
virtual SDF_API bool | HasSpec (const SdfPath &path) const =0 |
| Return true if this data has a spec for path. More...
|
|
virtual SDF_API void | EraseSpec (const SdfPath &path)=0 |
|
virtual SDF_API void | MoveSpec (const SdfPath &oldPath, const SdfPath &newPath)=0 |
|
virtual SdfSpecType | GetSpecType (const SdfPath &path) const =0 |
|
SDF_API void | VisitSpecs (SdfAbstractDataSpecVisitor *visitor) const |
|
|
virtual SDF_API bool | Has (const SdfPath &path, const TfToken &fieldName, SdfAbstractDataValue *value) const =0 |
|
virtual SDF_API bool | Has (const SdfPath &path, const TfToken &fieldName, VtValue *value=NULL) const =0 |
|
virtual SDF_API bool | HasSpecAndField (const SdfPath &path, const TfToken &fieldName, SdfAbstractDataValue *value, SdfSpecType *specType) const |
|
virtual SDF_API bool | HasSpecAndField (const SdfPath &path, const TfToken &fieldName, VtValue *value, SdfSpecType *specType) const |
|
virtual SDF_API VtValue | Get (const SdfPath &path, const TfToken &fieldName) const =0 |
|
virtual SDF_API std::type_info
const & | GetTypeid (const SdfPath &path, const TfToken &fieldName) const |
|
virtual SDF_API void | Set (const SdfPath &path, const TfToken &fieldName, const VtValue &value)=0 |
|
virtual SDF_API void | Set (const SdfPath &path, const TfToken &fieldName, const SdfAbstractDataConstValue &value)=0 |
|
virtual SDF_API void | Erase (const SdfPath &path, const TfToken &fieldName)=0 |
| Remove the field at path and fieldName , if one exists. More...
|
|
virtual SDF_API std::vector
< TfToken > | List (const SdfPath &path) const =0 |
| Return the names of all the fields that are set at path . More...
|
|
template<class T > |
T | GetAs (const SdfPath &path, const TfToken &fieldName, const T &defaultValue=T()) const |
|
|
virtual SDF_API bool | HasDictKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath, SdfAbstractDataValue *value) const |
|
virtual SDF_API bool | HasDictKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath, VtValue *value=NULL) const |
|
virtual SDF_API VtValue | GetDictValueByKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath) const |
|
virtual SDF_API void | SetDictValueByKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath, const VtValue &value) |
|
virtual SDF_API void | SetDictValueByKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath, const SdfAbstractDataConstValue &value) |
|
virtual SDF_API void | EraseDictValueByKey (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath) |
|
virtual SDF_API std::vector
< TfToken > | ListDictKeys (const SdfPath &path, const TfToken &fieldName, const TfToken &keyPath) const |
|
|
This API supports narrowly-targeted queries against the "timeSamples" key of properties. In particular, it enables asking for single time samples without pulling on the entire set of time samples, as well as asking about the set of sample times without pulling on the actual values at those times.
|
virtual SDF_API std::set< double > | ListAllTimeSamples () const =0 |
|
virtual SDF_API std::set< double > | ListTimeSamplesForPath (const SdfPath &path) const =0 |
|
virtual SDF_API bool | GetBracketingTimeSamples (double time, double *tLower, double *tUpper) const =0 |
|
virtual SDF_API size_t | GetNumTimeSamplesForPath (const SdfPath &path) const =0 |
|
virtual SDF_API bool | GetBracketingTimeSamplesForPath (const SdfPath &path, double time, double *tLower, double *tUpper) const =0 |
|
virtual SDF_API bool | QueryTimeSample (const SdfPath &path, double time, VtValue *optionalValue=NULL) const =0 |
|
virtual SDF_API bool | QueryTimeSample (const SdfPath &path, double time, SdfAbstractDataValue *optionalValue) const =0 |
|
virtual SDF_API void | SetTimeSample (const SdfPath &path, double time, const VtValue &value)=0 |
|
virtual SDF_API void | EraseTimeSample (const SdfPath &path, double time)=0 |
|
| TfRefBase () |
|
| TfRefBase (TfRefBase const &) |
|
TfRefBase & | operator= (TfRefBase const &) |
|
size_t | GetCurrentCount () const |
| Return the current reference count of this object. More...
|
|
bool | IsUnique () const |
| Return true if only one TfRefPtr points to this object. More...
|
|
void | SetShouldInvokeUniqueChangedListener (bool shouldCall) |
|
| TfWeakBase () |
|
| TfWeakBase (const TfWeakBase &) |
|
const TfWeakBase & | __GetTfWeakBase__ () const |
|
const TfWeakBase & | operator= (const TfWeakBase &) |
|
void | EnableNotification2 () const |
|
TF_API void const * | GetUniqueIdentifier () const |
|
Interface for scene description data storage.
This is not a layer. SdfAbstractData is an anonymous container holding scene description values. It is like an STL container, but specialized for holding scene description.
For any given SdfPath, an SdfAbstractData can hold one or more key/value pairs which we call Fields. Most of the API on SdfAbstractData accesses or modifies the value stored in a Field for a particular path and field name.
SdfAbstractData does not provide undo, change notification, or any strong consistency guarantees about the scene description it contains. Instead, it is a basis for building those things.
Definition at line 73 of file abstractData.h.
virtual SDF_API bool SdfAbstractData::IsDetached |
( |
| ) |
const |
|
virtual |
Returns true if this data object is detached from its serialized data store, false otherwise. A detached data object must not be affected by external changes to the serialized data.
Sdf allows clients to specify detached layers to avoid problems that may occur if the underlying data is modified by an external process. For example, a data object that maintains an open file handle or memory mapping to the original layer on disk and reads data on demand is not detached. But a data object that pulls all of the layer contents into memory is detached.
The default implementation returns !StreamsData(). Non-streaming data objects are assumed to be detached from their serialized data, while streaming objects are conservatively assumed to not be detached. Note that it is possible to have a streaming data object that is also detached – for example, if the data object were to make a private copy of the serialized data for its own use and streamed data from it.
Reimplemented in SdfData.