vsg 1.1.3
VulkanSceneGraph library
Loading...
Searching...
No Matches
vsg::AsciiInput Class Reference

#include <AsciiInput.h>

Inheritance diagram for vsg::AsciiInput:
Collaboration diagram for vsg::AsciiInput:

Public Types

using ObjectID = uint32_t
 
using OptionalObjectID = std::pair<bool, ObjectID>
 
- Public Types inherited from vsg::Input
using ObjectID = uint32_t
 
using ObjectIDMap = std::map<ObjectID, ref_ptr<Object>>
 

Public Member Functions

 AsciiInput (std::istream &input, ref_ptr< ObjectFactory > in_objectFactory, ref_ptr< const Options > in_options={})
 
bool matchPropertyName (const char *propertyName) override
 return true if property name matches the next token in the stream, or if property names are not required for format
 
OptionalObjectID objectID ()
 
template<typename T >
void _read (size_t num, T *value)
 
template<typename R , typename T >
void _read_withcast (size_t num, T *value)
 
void read (size_t num, int8_t *value) override
 
void read (size_t num, uint8_t *value) override
 
void read (size_t num, int16_t *value) override
 
void read (size_t num, uint16_t *value) override
 
void read (size_t num, int32_t *value) override
 
void read (size_t num, uint32_t *value) override
 
void read (size_t num, int64_t *value) override
 
void read (size_t num, uint64_t *value) override
 
void read (size_t num, float *value) override
 
void read (size_t num, double *value) override
 
void _read (std::string &value)
 
void _read (std::wstring &value)
 
void read (size_t num, std::string *value) override
 read one or more strings
 
void read (size_t num, std::wstring *value) override
 read one or more strings
 
void read (size_t num, Path *value) override
 read one or more paths
 
vsg::ref_ptr< vsg::Objectread () override
 read object
 
- Public Member Functions inherited from vsg::Input
 Input (ref_ptr< ObjectFactory > in_objectFactory, ref_ptr< const Options > in_options={})
 
Inputoperator= (const Input &rhs)=delete
 
void read (size_t num, char *value)
 
void read (size_t num, bool *value)
 
void read (size_t num, vec2 *value)
 
void read (size_t num, vec3 *value)
 
void read (size_t num, vec4 *value)
 
void read (size_t num, dvec2 *value)
 
void read (size_t num, dvec3 *value)
 
void read (size_t num, dvec4 *value)
 
void read (size_t num, bvec2 *value)
 
void read (size_t num, bvec3 *value)
 
void read (size_t num, bvec4 *value)
 
void read (size_t num, ubvec2 *value)
 
void read (size_t num, ubvec3 *value)
 
void read (size_t num, ubvec4 *value)
 
void read (size_t num, svec2 *value)
 
void read (size_t num, svec3 *value)
 
void read (size_t num, svec4 *value)
 
void read (size_t num, usvec2 *value)
 
void read (size_t num, usvec3 *value)
 
void read (size_t num, usvec4 *value)
 
void read (size_t num, ivec2 *value)
 
void read (size_t num, ivec3 *value)
 
void read (size_t num, ivec4 *value)
 
void read (size_t num, uivec2 *value)
 
void read (size_t num, uivec3 *value)
 
void read (size_t num, uivec4 *value)
 
void read (size_t num, quat *value)
 
void read (size_t num, dquat *value)
 
void read (size_t num, mat3 *value)
 
void read (size_t num, dmat3 *value)
 
void read (size_t num, mat4 *value)
 
void read (size_t num, dmat4 *value)
 
void read (size_t num, sphere *value)
 
void read (size_t num, dsphere *value)
 
void read (size_t num, box *value)
 
void read (size_t num, dbox *value)
 
void read (size_t num, plane *value)
 
void read (size_t num, dplane *value)
 
template<typename T >
void read (size_t num, T *value)
 treat non standard type as raw data
 
template<typename T >
void read (const char *propertyName, ref_ptr< T > &arg)
 
template<typename T >
void readObjects (const char *propertyName, T &values)
 
template<typename T >
void readValues (const char *propertyName, std::vector< T > &values)
 
template<typename T >
void readValues (const char *propertyName, std::set< T > &values)
 
template<typename... Args>
void read (const char *propertyName, Args &... args)
 match property name and read value(s)
 
ref_ptr< ObjectreadObject (const char *propertyName)
 read object of a particular type
 
template<class T >
ref_ptr< T > readObject (const char *propertyName)
 read object of a particular type
 
template<class T >
void readObject (const char *propertyName, ref_ptr< T > &arg)
 read object of a particular type
 
template<typename T >
readValue (const char *propertyName)
 read a value of particular type
 
template<typename W , typename T >
void readValue (const char *propertyName, T &value)
 read a value as a type, then cast it to another type
 
virtual bool version_less (uint32_t major, uint32_t minor, uint32_t patch, uint32_t soversion=0) const
 
virtual bool version_greater_equal (uint32_t major, uint32_t minor, uint32_t patch, uint32_t soversion=0) const
 
template<>
void readObject (const char *propertyName, ref_ptr< Object > &arg)
 

Protected Attributes

std::istream & _input
 
std::string _readPropertyName
 

Additional Inherited Members

- Public Attributes inherited from vsg::Input
ObjectIDMap objectIDMap
 
ref_ptr< ObjectFactoryobjectFactory
 
ref_ptr< const Optionsoptions
 
Path filename
 
VsgVersion version
 
- Protected Member Functions inherited from vsg::Input

Detailed Description

vsg::Input subclass that implements reading from an ascii input stream. Used by VSG ReaderWriter when reading native .vsgt ascii files.

Member Function Documentation

◆ matchPropertyName()

bool vsg::AsciiInput::matchPropertyName ( const char * propertyName)
overridevirtual

return true if property name matches the next token in the stream, or if property names are not required for format

Implements vsg::Input.

◆ read() [1/14]

vsg::ref_ptr< vsg::Object > vsg::AsciiInput::read ( )
overridevirtual

read object

Implements vsg::Input.

◆ read() [2/14]

void vsg::AsciiInput::read ( size_t num,
double * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [3/14]

void vsg::AsciiInput::read ( size_t num,
float * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [4/14]

void vsg::AsciiInput::read ( size_t num,
int16_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [5/14]

void vsg::AsciiInput::read ( size_t num,
int32_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [6/14]

void vsg::AsciiInput::read ( size_t num,
int64_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [7/14]

void vsg::AsciiInput::read ( size_t num,
int8_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [8/14]

void vsg::AsciiInput::read ( size_t num,
Path * value )
overridevirtual

read one or more paths

Implements vsg::Input.

◆ read() [9/14]

void vsg::AsciiInput::read ( size_t num,
std::string * value )
overridevirtual

read one or more strings

Implements vsg::Input.

◆ read() [10/14]

void vsg::AsciiInput::read ( size_t num,
std::wstring * value )
overridevirtual

read one or more strings

Implements vsg::Input.

◆ read() [11/14]

void vsg::AsciiInput::read ( size_t num,
uint16_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [12/14]

void vsg::AsciiInput::read ( size_t num,
uint32_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [13/14]

void vsg::AsciiInput::read ( size_t num,
uint64_t * value )
inlineoverridevirtual

Implements vsg::Input.

◆ read() [14/14]

void vsg::AsciiInput::read ( size_t num,
uint8_t * value )
inlineoverridevirtual

Implements vsg::Input.


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