HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_Options Class Reference

A map of string to various well defined value types. More...

#include <UT_Options.h>

+ Inheritance diagram for UT_Options:

Classes

class  iterator
 
class  ordered_iterator
 

Public Member Functions

 UT_Options ()
 
 UT_Options (const UT_Options &src)
 
virtual ~UT_Options ()
 
 UT_Options (const char *type_and_name,...)
 
void clear ()
 
bool load (const char *filename)
 
bool save (const char *filename) const
 
bool saveOrdered (const char *filename) const
 
bool load (const char *filename, UT_IStream &is)
 
bool save (const char *filename, std::ostream &os) const
 
bool saveOrdered (const char *filename, std::ostream &os) const
 
bool saveAsJSON (const char *filename, bool binary=true, bool compact=false) const
 
bool saveAsJSON (const char *filename, std::ostream &os, bool binary=true, bool compact=false) const
 
void removeOption (const UT_StringHolder &name)
 
bool getOptionString (const UT_StringHolder &name, UT_OptionFormat format, UT_WorkBuffer &result) const
 
bool getOptionString (const UT_StringHolder &name, UT_OptionFormat format, UT_String &result) const
 
bool appendPyDictionary (UT_WorkBuffer &result, bool sorted=false) const
 
bool setFromPyDictionary (const char *dict)
 
bool setPyOptionString (const UT_StringHolder &name, const char *value)
 
bool save (UT_JSONWriter &w, bool compact=false) const
 
void save (UT_JSONValueMap &map, bool compact=false) const
 
bool load (UT_JSONParser &parser, bool do_clear, UT_IStream *is=0, bool require_type=true)
 
bool load (const UT_JSONValueMap &map, bool do_clear, bool allow_type=true, bool allow_dict=false)
 
void dump (std::ostream &os) const
 Writes a JSON dump to ostream of the current options. More...
 
void dump () const
 Dump to stdout/cout. More...
 
bool hasOption (const UT_StringRef &name) const
 
UT_OptionType getOptionType (const UT_StringRef &name) const
 
const UT_OptionEntry * getOptionEntry (const UT_StringRef &name) const
 
exint getNumOptions () const
 
exint size () const
 
exint entries () const
 
iterator begin () const
 
iterator end () const
 
ordered_iterator obegin () const
 
ordered_iterator oend () const
 
template<typename T >
T getOptionValue (const UT_StringHolder &name) const
 
int64 getOptionI (const UT_StringRef &name) const
 
bool getOptionB (const UT_StringRef &name) const
 
fpreal64 getOptionF (const UT_StringRef &name) const
 
const UT_Vector2D & getOptionV2 (const UT_StringRef &name) const
 
const UT_Vector3D & getOptionV3 (const UT_StringRef &name) const
 
const UT_Vector4D & getOptionV4 (const UT_StringRef &name) const
 
const UT_QuaternionD & getOptionQ (const UT_StringRef &name) const
 
const UT_Matrix2D & getOptionM2 (const UT_StringRef &name) const
 
const UT_Matrix3D & getOptionM3 (const UT_StringRef &name) const
 
const UT_Matrix4D & getOptionM4 (const UT_StringRef &name) const
 
const UT_Vector2D & getOptionUV (const UT_StringRef &name) const
 
const UT_Vector3D & getOptionUVW (const UT_StringRef &name) const
 
const UT_StringHolder & getOptionS (const UT_StringRef &name) const
 
void getOptionS (const UT_StringRef &name, std::string &value) const
 
void getOptionS (const UT_StringRef &name, UT_String &value) const
 
void getOptionS (const UT_StringRef &name, UT_StringHolder &value) const
 
void getOptionS (const UT_StringRef &, UT_WorkBuffer &value) const
 
const UT_OptionsHolder & getOptionDict (const UT_StringRef &name) const
 
const UT_Int64Array & getOptionIArray (const UT_StringRef &) const
 
const UT_Fpreal64Array & getOptionFArray (const UT_StringRef &) const
 
const UT_StringArray & getOptionSArray (const UT_StringRef &) const
 
const UT_Array
< UT_OptionsHolder > & 
getOptionDictArray (const UT_StringRef &) const
 
fpreal64 getOptionNum (const UT_StringRef &) const
 
bool importOption (const UT_StringRef &name, int &value) const
 
bool importOption (const UT_StringRef &name, int64 &value) const
 
bool importOption (const UT_StringRef &name, bool &value) const
 
bool importOption (const UT_StringRef &name, fpreal32 &value) const
 
bool importOption (const UT_StringRef &name, fpreal64 &value) const
 
bool importOption (const UT_StringRef &name, std::string &value) const
 
bool importOption (const UT_StringRef &name, UT_String &value) const
 
bool importOption (const UT_StringRef &name, UT_StringHolder &value) const
 
bool importOption (const UT_StringRef &name, UT_OptionsHolder &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector2F &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector3F &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector4F &value) const
 
bool importOption (const UT_StringRef &name, UT_QuaternionF &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix2F &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix3F &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix4F &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector2D &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector3D &value) const
 
bool importOption (const UT_StringRef &name, UT_Vector4D &value) const
 
bool importOption (const UT_StringRef &name, UT_QuaternionD &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix2D &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix3D &value) const
 
bool importOption (const UT_StringRef &name, UT_Matrix4D &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< int32 > &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< int64 > &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< fpreal32 > &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< fpreal64 > &value) const
 
bool importOption (const UT_StringRef &name, UT_StringArray &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< UT_StringHolder > &value) const
 
bool importOption (const UT_StringRef &name, UT_Array< UT_OptionsHolder > &value) const
 
bool importElement (const UT_StringRef &name, fpreal &value, exint index=0) const
 
bool importElement (const UT_StringRef &name, int64 &value, exint index=0) const
 
template<typename T >
UT_Options & setOptionValue (const UT_StringHolder &name, const T &value)
 
UT_Options & setOptionI (const UT_StringHolder &name, int64 value)
 
UT_Options & setOptionB (const UT_StringHolder &name, bool value)
 
UT_Options & setOptionF (const UT_StringHolder &name, fpreal64 value)
 
UT_Options & setOptionS (const UT_StringHolder &name, const UT_StringHolder &value)
 
UT_Options & setOptionSRaw (const UT_StringHolder &name, const UT_StringHolder &value)
 
UT_Options & setOptionSUtf8 (const UT_StringHolder &name, const UT_StringHolder &value)
 
UT_Options & setOptionDict (const UT_StringHolder &name, const UT_OptionsHolder &value)
 
UT_Options & setOptionV2 (const UT_StringHolder &name, const UT_Vector2F &value)
 
UT_Options & setOptionV2 (const UT_StringHolder &name, const UT_Vector2D &value)
 
UT_Options & setOptionV2 (const UT_StringHolder &name, fpreal64 x, fpreal64 y)
 
UT_Options & setOptionV3 (const UT_StringHolder &name, const UT_Vector3F &value)
 
UT_Options & setOptionV3 (const UT_StringHolder &name, const UT_Vector3D &value)
 
UT_Options & setOptionV3 (const UT_StringHolder &name, fpreal64 x, fpreal64 y, fpreal64 z)
 
UT_Options & setOptionV4 (const UT_StringHolder &name, const UT_Vector4F &value)
 
UT_Options & setOptionV4 (const UT_StringHolder &name, const UT_Vector4D &value)
 
UT_Options & setOptionV4 (const UT_StringHolder &name, fpreal64 x, fpreal64 y, fpreal64 z, fpreal64 w)
 
UT_Options & setOptionQ (const UT_StringHolder &name, const UT_QuaternionF &value)
 
UT_Options & setOptionQ (const UT_StringHolder &name, const UT_QuaternionD &value)
 
UT_Options & setOptionM2 (const UT_StringHolder &name, const UT_Matrix2F &value)
 
UT_Options & setOptionM2 (const UT_StringHolder &name, const UT_Matrix2D &value)
 
UT_Options & setOptionM3 (const UT_StringHolder &name, const UT_Matrix3F &value)
 
UT_Options & setOptionM3 (const UT_StringHolder &name, const UT_Matrix3D &value)
 
UT_Options & setOptionM4 (const UT_StringHolder &name, const UT_Matrix4F &value)
 
UT_Options & setOptionM4 (const UT_StringHolder &name, const UT_Matrix4D &value)
 
UT_Options & setOptionUV (const UT_StringHolder &name, const UT_Vector2F &value)
 
UT_Options & setOptionUV (const UT_StringHolder &name, const UT_Vector2D &value)
 
UT_Options & setOptionUVW (const UT_StringHolder &name, const UT_Vector3F &value)
 
UT_Options & setOptionUVW (const UT_StringHolder &name, const UT_Vector3D &value)
 
UT_Options & setOptionSArray (const UT_StringHolder &name, const UT_StringHolder *values, size_t size)
 Set string array options. More...
 
UT_Options & setOptionSArray (const UT_StringHolder &name, const char *const *values, size_t size)
 
UT_Options & setOptionSArray (const UT_StringHolder &name, const UT_StringArray &value)
 
UT_Options & setOptionSRawArray (const UT_StringHolder &name, const UT_StringArray &value)
 
UT_Options & setOptionSUtf8Array (const UT_StringHolder &name, const UT_StringArray &value)
 
UT_Options & setOptionDictArray (const UT_StringHolder &name, const UT_OptionsHolder *values, size_t size)
 Set dict array options. More...
 
UT_Options & setOptionDictArray (const UT_StringHolder &name, const UT_Array< UT_OptionsHolder > &value)
 
unsigned hash () const
 Get a hash code for the options. More...
 
bool operator== (const UT_Options &src) const
 Comparison operator. More...
 
bool operator!= (const UT_Options &src) const
 
bool isEqual (const UT_Options &src, fpreal64 tol) const
 Comparison operator with a tolerance for float values. More...
 
const UT_Options & operator= (const UT_Options &src)
 Assignment operator. More...
 
void merge (const UT_Options &src)
 
void merge (const UT_Options &src, bool(*match)(const UT_StringHolder &name, const UT_OptionEntry *, void *), void *data)
 
virtual int64 getMemoryUsage (bool inclusive) const
 
void setOption (const UT_StringHolder &name, UT_OptionEntryPtr value)
 
UT_Options & setOptionIArray (const UT_StringHolder &name, const int32 *values, size_t size)
 
UT_Options & setOptionIArray (const UT_StringHolder &name, const int64 *values, size_t size)
 
UT_Options & setOptionIArray (const UT_StringHolder &name, const UT_Array< int64 > &value)
 
UT_Options & setOptionFArray (const UT_StringHolder &name, const fpreal32 *values, size_t size)
 
UT_Options & setOptionFArray (const UT_StringHolder &name, const fpreal64 *values, size_t size)
 
UT_Options & setOptionFArray (const UT_StringHolder &name, const UT_Array< fpreal64 > &value)
 

Static Public Member Functions

static UT_OptionType optionType (const UT_StringRef &kwd)
 Lookup an option type based on a keyword. More...
 

Protected Member Functions

const UT_StringHolder * findOptionS (const UT_StringRef &name) const
 
void addError (const char *filename, int linecount, const char *error_str) const
 
bool sendOptionChanges () const
 
void setSendOptionChanges (bool f)
 
virtual void optionChanged (const char *name)
 
UT_OptionEntryPtr parsePyValue (const char *&value, char sep_delim, char close_delim= '\0')
 

Detailed Description

Constructor & Destructor Documentation

UT_Options::UT_Options ( )
UT_Options::UT_Options ( const UT_Options &  src)
virtual UT_Options::~UT_Options ( )
virtual
UT_Options::UT_Options ( const char *  type_and_name,
  ... 
)

Variadic constructor that allows addition of options during construction. Using this option requires very careful coding (as does all variadic coding). For example, there is no type checking of variadic arguments. If there are floating point arguments, they must be specified as double (i.e. Not "0", but rather "0.0"). Type tokens expected are:

  • "int"
    A single int value follows
  • "int64"
    A single int64 value follows
  • "bool"
    A single int follows
  • "float"
    A single double follows
  • "string"
    A single string value follows
  • "vector2"
    Two (2) double arguments follow
  • "vector3"
    Three (3) double arguments follow
  • "vector4"
    Four (4) double arguments follow
  • "quaternion"
    Four (4) double arguments follow
  • "matrix2"
    Four (4) double arguments follow
  • "matrix3"
    Nine (9) double arguments follow
  • "matrix4"
    Sixteen (16) double arguments follow
  • "uv"
    Two (2) double arguments follow
  • "uvw"
    Three (3) double arguments follow
  • "stringraw"
    A single string value follows
  • "int[N]"
    N int values follow (creating an integer array). Replace N with the actual value (of course). No spaces may occur in the type name.
  • "int64[N]"
    N int64 values follow (creating an integer array). Replace N with the actual value (of course). No spaces may occur in the type name.
  • "float[N]"
    N double values follow (creating a float array). Replace N with the actual value (of course). No spaces may occur in the type name.
    • "string[N]"
      N string values follow (creating a string array). Replace N with the actual value (of course). No spaces may occur in the type name.

Special type tokens

  • "i_vector2", "i_vector3", "i_vector4",
    A single double is used to set all components of the vector
  • "i_quaternion"
    A single double is used to set all components of the vector
  • "i_uv", "i_uvw"
    A single double is used to set all components of the vector
  • "i_matrix3", "i_matrix4"
    A single double is used to set the diagonal of the matrix3.
  • "i_int[N]"
    A single int64 is used to set all components of the array
  • "i_float[N]"
    A single double is used to set all components of the array

The option name should follow the type specifier (separated by a single space).

A nullptr keyword determines the end of the options.

Examples:

UT_Options options("int ival", 0,
"int64 i64val", (int64)5,
"bool toggle", (int)1,
"float fval", (fpreal64)0,
"vector3 P", 0.0, 1.0, 2.0,
"string map", "texture.pic",
"int[2] iarray", int64(0), int64(1),
nullptr); <======= MUST TERMINATE =======
@code
Common errors include: @code
UT_Options options(
"int ival", (int64)0, // Error, must be int
"int64 ival", (int)0, // Error, must be int64
"vector3 fval", 0, 1.0, 2.0, // First entry is an int!
"float[3] farray", 0.0, 1.0, // Missing 3rd value
/* MISSING nullptr TERMINATOR */);

This function effectively does not call optionChanged.

Member Function Documentation

void UT_Options::addError ( const char *  filename,
int  linecount,
const char *  error_str 
) const
protected
bool UT_Options::appendPyDictionary ( UT_WorkBuffer &  result,
bool  sorted = false 
) const
iterator UT_Options::begin ( void  ) const
inline

Definition at line 431 of file UT_Options.h.

void UT_Options::clear ( )
void UT_Options::dump ( std::ostream &  os) const

Writes a JSON dump to ostream of the current options.

Examples:
IMG/TIL_NullFilter.C.
void UT_Options::dump ( ) const

Dump to stdout/cout.

iterator UT_Options::end ( void  ) const
inline

Definition at line 433 of file UT_Options.h.

exint UT_Options::entries ( ) const
inline

Definition at line 284 of file UT_Options.h.

const UT_StringHolder* UT_Options::findOptionS ( const UT_StringRef &  name) const
protected
virtual int64 UT_Options::getMemoryUsage ( bool  inclusive) const
virtual
exint UT_Options::getNumOptions ( ) const
inline

Definition at line 282 of file UT_Options.h.

bool UT_Options::getOptionB ( const UT_StringRef &  name) const
const UT_OptionsHolder& UT_Options::getOptionDict ( const UT_StringRef &  name) const
const UT_Array<UT_OptionsHolder>& UT_Options::getOptionDictArray ( const UT_StringRef &  ) const
const UT_OptionEntry* UT_Options::getOptionEntry ( const UT_StringRef &  name) const
fpreal64 UT_Options::getOptionF ( const UT_StringRef &  name) const
const UT_Fpreal64Array& UT_Options::getOptionFArray ( const UT_StringRef &  ) const
int64 UT_Options::getOptionI ( const UT_StringRef &  name) const
const UT_Int64Array& UT_Options::getOptionIArray ( const UT_StringRef &  ) const
const UT_Matrix2D& UT_Options::getOptionM2 ( const UT_StringRef &  name) const
const UT_Matrix3D& UT_Options::getOptionM3 ( const UT_StringRef &  name) const
const UT_Matrix4D& UT_Options::getOptionM4 ( const UT_StringRef &  name) const
fpreal64 UT_Options::getOptionNum ( const UT_StringRef &  ) const
const UT_QuaternionD& UT_Options::getOptionQ ( const UT_StringRef &  name) const
const UT_StringHolder& UT_Options::getOptionS ( const UT_StringRef &  name) const
void UT_Options::getOptionS ( const UT_StringRef &  name,
std::string &  value 
) const
void UT_Options::getOptionS ( const UT_StringRef &  name,
UT_String &  value 
) const
void UT_Options::getOptionS ( const UT_StringRef &  name,
UT_StringHolder &  value 
) const
void UT_Options::getOptionS ( const UT_StringRef &  ,
UT_WorkBuffer &  value 
) const
const UT_StringArray& UT_Options::getOptionSArray ( const UT_StringRef &  ) const
bool UT_Options::getOptionString ( const UT_StringHolder &  name,
UT_OptionFormat  format,
UT_WorkBuffer &  result 
) const
bool UT_Options::getOptionString ( const UT_StringHolder &  name,
UT_OptionFormat  format,
UT_String &  result 
) const
UT_OptionType UT_Options::getOptionType ( const UT_StringRef &  name) const
const UT_Vector2D& UT_Options::getOptionUV ( const UT_StringRef &  name) const
const UT_Vector3D& UT_Options::getOptionUVW ( const UT_StringRef &  name) const
const UT_Vector2D& UT_Options::getOptionV2 ( const UT_StringRef &  name) const
const UT_Vector3D& UT_Options::getOptionV3 ( const UT_StringRef &  name) const
const UT_Vector4D& UT_Options::getOptionV4 ( const UT_StringRef &  name) const
template<typename T >
T UT_Options::getOptionValue ( const UT_StringHolder &  name) const
inline

Definition at line 442 of file UT_Options.h.

unsigned UT_Options::hash ( ) const

Get a hash code for the options.

bool UT_Options::hasOption ( const UT_StringRef &  name) const
bool UT_Options::importElement ( const UT_StringRef &  name,
fpreal &  value,
exint  index = 0 
) const
bool UT_Options::importElement ( const UT_StringRef &  name,
int64 &  value,
exint  index = 0 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
int &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
int64 &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
bool &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
fpreal32 &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
fpreal64 &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
std::string &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_String &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_StringHolder &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_OptionsHolder &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector2F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector3F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector4F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_QuaternionF &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix2F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix3F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix4F &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector2D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector3D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Vector4D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_QuaternionD &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix2D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix3D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Matrix4D &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< int32 > &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< int64 > &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< fpreal32 > &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< fpreal64 > &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_StringArray &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< UT_StringHolder > &  value 
) const
bool UT_Options::importOption ( const UT_StringRef &  name,
UT_Array< UT_OptionsHolder > &  value 
) const
bool UT_Options::isEqual ( const UT_Options &  src,
fpreal64  tol 
) const

Comparison operator with a tolerance for float values.

bool UT_Options::load ( const char *  filename)
bool UT_Options::load ( const char *  filename,
UT_IStream &  is 
)
bool UT_Options::load ( UT_JSONParser &  parser,
bool  do_clear,
UT_IStream *  is = 0,
bool  require_type = true 
)

Load a UT_Options from a JSON parser.

Parameters
parserParser
do_clearClear existing map before loading If true and the first object in the JSON stream is not a map object, then the parser will fail (with an error). Otherwise a warning will be added and the object will be skipped.
isIf this is specified, then data will be read from that stream rather than the stream associated with the parser.
require_typeIf true, the JSON input must contain option entries in a format that explicitly specifies both the 'type' and the 'value'. Otherwise, JSON may specify value directly, and the type will be deduced implicitly from the value.
bool UT_Options::load ( const UT_JSONValueMap &  map,
bool  do_clear,
bool  allow_type = true,
bool  allow_dict = false 
)

Loads a UT_Options from a JSONValue map.

Parameters
mapThe source map
do_clearClear the UT_Options before loading values from the map
allow_typeControls if a map with "type" and "value" entries will be interpreted as an explicit type request.
allow_dictControls if a map will be turned into a nested dictionary. Note: if both 'allow_type' and 'allow_dict' are true , things that look like types will be treated as such; the rest as dictionaries.
void UT_Options::merge ( const UT_Options &  src)
void UT_Options::merge ( const UT_Options &  src,
bool(*)(const UT_StringHolder &name, const UT_OptionEntry *, void *)  match,
void *  data 
)
ordered_iterator UT_Options::obegin ( ) const
inline

Definition at line 435 of file UT_Options.h.

ordered_iterator UT_Options::oend ( ) const
inline

Definition at line 437 of file UT_Options.h.

bool UT_Options::operator!= ( const UT_Options &  src) const
inline

Definition at line 734 of file UT_Options.h.

const UT_Options& UT_Options::operator= ( const UT_Options &  src)

Assignment operator.

bool UT_Options::operator== ( const UT_Options &  src) const
inline

Comparison operator.

Definition at line 732 of file UT_Options.h.

virtual void UT_Options::optionChanged ( const char *  name)
protectedvirtual

Reimplemented in OP_Options, and SIM_Options.

static UT_OptionType UT_Options::optionType ( const UT_StringRef &  kwd)
static

Lookup an option type based on a keyword.

UT_OptionEntryPtr UT_Options::parsePyValue ( const char *&  value,
char  sep_delim,
char  close_delim = '\0' 
)
protected
void UT_Options::removeOption ( const UT_StringHolder &  name)
bool UT_Options::save ( const char *  filename) const
bool UT_Options::save ( const char *  filename,
std::ostream &  os 
) const
bool UT_Options::save ( UT_JSONWriter &  w,
bool  compact = false 
) const

Save a UT_Options to JSON format using UT_JSONWriter

Parameters
wThe writer stream used to save the options
compactIf true, the type info is not explicitly saved.
void UT_Options::save ( UT_JSONValueMap &  map,
bool  compact = false 
) const

Save a UT_Options to a UT_JSONValue

Parameters
mapThe value used to store the UT_Options
compactIf true, the type info is not explicitly saved.
bool UT_Options::saveAsJSON ( const char *  filename,
bool  binary = true,
bool  compact = false 
) const
bool UT_Options::saveAsJSON ( const char *  filename,
std::ostream &  os,
bool  binary = true,
bool  compact = false 
) const
bool UT_Options::saveOrdered ( const char *  filename) const
bool UT_Options::saveOrdered ( const char *  filename,
std::ostream &  os 
) const
bool UT_Options::sendOptionChanges ( ) const
inlineprotected

Definition at line 757 of file UT_Options.h.

bool UT_Options::setFromPyDictionary ( const char *  dict)
void UT_Options::setOption ( const UT_StringHolder &  name,
UT_OptionEntryPtr  value 
)
UT_Options& UT_Options::setOptionB ( const UT_StringHolder &  name,
bool  value 
)
UT_Options& UT_Options::setOptionDict ( const UT_StringHolder &  name,
const UT_OptionsHolder &  value 
)
UT_Options& UT_Options::setOptionDictArray ( const UT_StringHolder &  name,
const UT_OptionsHolder *  values,
size_t  size 
)

Set dict array options.

UT_Options& UT_Options::setOptionDictArray ( const UT_StringHolder &  name,
const UT_Array< UT_OptionsHolder > &  value 
)
UT_Options& UT_Options::setOptionF ( const UT_StringHolder &  name,
fpreal64  value 
)
UT_Options& UT_Options::setOptionFArray ( const UT_StringHolder &  name,
const fpreal32 *  values,
size_t  size 
)

Set float/double array options

UT_Options& UT_Options::setOptionFArray ( const UT_StringHolder &  name,
const fpreal64 *  values,
size_t  size 
)

Set float/double array options

UT_Options& UT_Options::setOptionFArray ( const UT_StringHolder &  name,
const UT_Array< fpreal64 > &  value 
)

Set float/double array options

UT_Options& UT_Options::setOptionI ( const UT_StringHolder &  name,
int64  value 
)
UT_Options& UT_Options::setOptionIArray ( const UT_StringHolder &  name,
const int32 *  values,
size_t  size 
)

Set integer array options

UT_Options& UT_Options::setOptionIArray ( const UT_StringHolder &  name,
const int64 *  values,
size_t  size 
)

Set integer array options

UT_Options& UT_Options::setOptionIArray ( const UT_StringHolder &  name,
const UT_Array< int64 > &  value 
)

Set integer array options

UT_Options& UT_Options::setOptionM2 ( const UT_StringHolder &  name,
const UT_Matrix2F &  value 
)
UT_Options& UT_Options::setOptionM2 ( const UT_StringHolder &  name,
const UT_Matrix2D &  value 
)
UT_Options& UT_Options::setOptionM3 ( const UT_StringHolder &  name,
const UT_Matrix3F &  value 
)
UT_Options& UT_Options::setOptionM3 ( const UT_StringHolder &  name,
const UT_Matrix3D &  value 
)
UT_Options& UT_Options::setOptionM4 ( const UT_StringHolder &  name,
const UT_Matrix4F &  value 
)
UT_Options& UT_Options::setOptionM4 ( const UT_StringHolder &  name,
const UT_Matrix4D &  value 
)
UT_Options& UT_Options::setOptionQ ( const UT_StringHolder &  name,
const UT_QuaternionF &  value 
)
UT_Options& UT_Options::setOptionQ ( const UT_StringHolder &  name,
const UT_QuaternionD &  value 
)
UT_Options& UT_Options::setOptionS ( const UT_StringHolder &  name,
const UT_StringHolder &  value 
)
UT_Options& UT_Options::setOptionSArray ( const UT_StringHolder &  name,
const UT_StringHolder *  values,
size_t  size 
)

Set string array options.

UT_Options& UT_Options::setOptionSArray ( const UT_StringHolder &  name,
const char *const *  values,
size_t  size 
)
UT_Options& UT_Options::setOptionSArray ( const UT_StringHolder &  name,
const UT_StringArray &  value 
)
UT_Options& UT_Options::setOptionSRaw ( const UT_StringHolder &  name,
const UT_StringHolder &  value 
)
UT_Options& UT_Options::setOptionSRawArray ( const UT_StringHolder &  name,
const UT_StringArray &  value 
)

Like setOptionSArray, but creating an array of "raw" or "utf8" strings, as far as conversion to python is concerned.

UT_Options& UT_Options::setOptionSUtf8 ( const UT_StringHolder &  name,
const UT_StringHolder &  value 
)
UT_Options& UT_Options::setOptionSUtf8Array ( const UT_StringHolder &  name,
const UT_StringArray &  value 
)
UT_Options& UT_Options::setOptionUV ( const UT_StringHolder &  name,
const UT_Vector2F &  value 
)
UT_Options& UT_Options::setOptionUV ( const UT_StringHolder &  name,
const UT_Vector2D &  value 
)
UT_Options& UT_Options::setOptionUVW ( const UT_StringHolder &  name,
const UT_Vector3F &  value 
)
UT_Options& UT_Options::setOptionUVW ( const UT_StringHolder &  name,
const UT_Vector3D &  value 
)
UT_Options& UT_Options::setOptionV2 ( const UT_StringHolder &  name,
const UT_Vector2F &  value 
)
UT_Options& UT_Options::setOptionV2 ( const UT_StringHolder &  name,
const UT_Vector2D &  value 
)
UT_Options& UT_Options::setOptionV2 ( const UT_StringHolder &  name,
fpreal64  x,
fpreal64  y 
)
UT_Options& UT_Options::setOptionV3 ( const UT_StringHolder &  name,
const UT_Vector3F &  value 
)
UT_Options& UT_Options::setOptionV3 ( const UT_StringHolder &  name,
const UT_Vector3D &  value 
)
UT_Options& UT_Options::setOptionV3 ( const UT_StringHolder &  name,
fpreal64  x,
fpreal64  y,
fpreal64  z 
)
UT_Options& UT_Options::setOptionV4 ( const UT_StringHolder &  name,
const UT_Vector4F &  value 
)
UT_Options& UT_Options::setOptionV4 ( const UT_StringHolder &  name,
const UT_Vector4D &  value 
)
UT_Options& UT_Options::setOptionV4 ( const UT_StringHolder &  name,
fpreal64  x,
fpreal64  y,
fpreal64  z,
fpreal64  w 
)
template<typename T >
UT_Options& UT_Options::setOptionValue ( const UT_StringHolder &  name,
const T &  value 
)
inline

Definition at line 592 of file UT_Options.h.

bool UT_Options::setPyOptionString ( const UT_StringHolder &  name,
const char *  value 
)
void UT_Options::setSendOptionChanges ( bool  f)
inlineprotected

Definition at line 759 of file UT_Options.h.

exint UT_Options::size ( void  ) const
inline

Definition at line 283 of file UT_Options.h.


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