 |
Face Engine SDK
5.3.0
A face detection, recognition and tracking engine.
|
Go to the documentation of this file.
10 #include <fsdk/IObject.h>
11 #include <fsdk/Types.h>
18 #ifndef DOXYGEN_SHOULD_SKIP_THIS
79 virtual
bool save(const
char* path) const noexcept = 0;
85 virtual
void clear() noexcept = 0;
91 virtual
bool isEmpty() const noexcept = 0;
103 struct Int1 {
int m_value; } m_int1;
104 struct Int2 {
int m_value[2]; } m_int2;
105 struct Int3 {
int m_value[3]; } m_int3;
106 struct Int4 {
int m_value[4]; } m_int4;
107 struct Float1 {
float m_value; } m_float1;
108 struct Float2 {
float m_value[2]; } m_float2;
109 struct Float3 {
float m_value[3]; } m_float3;
110 struct Float4 {
float m_value[4]; } m_float4;
111 struct String {
char* m_value; } m_string;
134 Value() noexcept : m_type(Undefined) {}
140 Value(
int x) noexcept { setInt(x); }
147 Value(
int x,
int y) noexcept { setInt(x, y); }
155 Value(
int x,
int y,
int z) noexcept { setInt(x, y, z); }
164 Value(
int x,
int y,
int z,
int w) noexcept { setInt(x, y, z, w); }
170 Value(
float x) noexcept { setFloat(x); }
177 Value(
float x,
float y) noexcept { setFloat(x, y); }
185 Value(
float x,
float y,
float z) noexcept { setFloat(x, y, z); }
194 Value(
float x,
float y,
float z,
float w) noexcept { setFloat(x, y, z, w); }
201 Value(
const char*
string) noexcept { setString(
string); }
225 Value(
bool x) noexcept { setBool(x); }
231 operator bool() const noexcept {
return !is(Undefined); }
238 bool is(
Type type)
const noexcept {
return m_type == type; }
245 inline bool setString(
const char*
string) noexcept;
253 inline bool getString(
char*
string)
const noexcept;
260 inline void setRect(
const Rect& rect) noexcept;
268 inline bool getRect(
Rect* rect)
const noexcept;
275 inline void setSize(
const Size& size) noexcept;
283 inline bool getSize(
Size* size)
const noexcept;
290 inline void setPoint2i(
const Point2i& point) noexcept;
298 inline bool getPoint2i(
Point2i* point)
const noexcept;
305 inline void setPoint2f(
const Point2f& point) noexcept;
313 inline bool getPoint2f(
Point2f* point)
const noexcept;
319 inline void setBool(
bool x) noexcept;
327 inline bool getBool(
bool* x)
const noexcept;
342 inline bool getInt(
int* x)
const noexcept;
350 inline void setInt(
int x,
int y) noexcept;
359 inline bool getInt(
int* x,
int* y)
const noexcept;
368 inline void setInt(
int x,
int y,
int z) noexcept;
378 inline bool getInt(
int* x,
int* y,
int* z)
const noexcept;
388 inline void setInt(
int x,
int y,
int z,
int w) noexcept;
399 inline bool getInt(
int* x,
int* y,
int* z,
int* w)
const noexcept;
431 inline bool getFloat(
float* x,
float* y)
const noexcept;
440 inline void setFloat(
float x,
float y,
float z) noexcept;
450 inline bool getFloat(
float* x,
float* y,
float* z)
const noexcept;
460 inline void setFloat(
float x,
float y,
float z,
float w) noexcept;
471 inline bool getFloat(
float* x,
float* y,
float* z,
float* w)
const noexcept;
480 inline float asFloat(
float defaultValue = 0.f)
const noexcept;
498 inline
bool asBool(
bool defaultValue = false) const noexcept;
507 inline
int asInt(
int defaultValue = 0) const noexcept;
516 inline
Size asSize(const
Size& defaultValue =
Size()) const noexcept;
534 inline
Rect asRect(const
Rect& defaultValue =
Rect()) const noexcept;
544 inline const
char* asString(const
char* defaultValue = "") const noexcept;
549 inline
Value& operator=(const
Value& other) = delete;
552 inline
void swap(
Value& first,
Value& second);
570 inline
Key(const
char* section, const
char* parameter) noexcept;
576 const
char* getSection() const noexcept {
592 inline void setSection(
const char* section) noexcept;
598 inline void setParameter(
const char* parameter) noexcept;
608 static const unsigned int m_bufferLength = 128;
609 char m_section [m_bufferLength];
610 char m_parameter [m_bufferLength];
624 inline
Desc(const
char* desc) noexcept;
638 inline void setDesc(
const char* desc) noexcept;
641 static const unsigned int m_bufferLength = 256;
656 m_value{std::move(right.m_value)},
661 Entry tmp(std::move(right));
667 std::swap(first.m_desc, second.m_desc);
668 std::swap(first.m_value, second.m_value);
725 const char* parameter,
726 const Desc& desc) noexcept {
749 const char* parameter,
750 Value&& value) noexcept {
751 setValue(
Key(section, parameter), std::move(value));
774 Value&& value) noexcept {
789 const char* parameter,
791 Value&& value) noexcept {
825 const char* parameter)
const noexcept {
850 const char* parameter)
const noexcept {
877 return "Could not allocate memory";
879 return "Error reading from file";
881 return "Internal error";
883 return "Error during document declaration/processing instruction parsing";
885 return "Parser could not determine tag type";
887 return "Error during CDATA section parsing";
889 return "File was not found";
891 return "Error during PCDATA section parsing";
893 return "Error during comment parsing";
895 return "Error during document type declaration parsing";
897 return "Settings sections is invalid or absent";
899 return "Error during element attribute parsing";
901 return "Error during end element tag parsing";
903 return "Root type is not node_element or node_document";
905 return "Document without element nodes";
907 return "Mismatch of start-end tags";
909 return "Error during start element tag parsing";
910 default:
return "Unknown error";
915 #include "ISettingsProvider.inl"
@ IOError
Error reading from file/stream.
Value(int x) noexcept
Initialize an integer value.
Definition: ISettingsProvider.h:140
Definition: ISettingsProvider.h:111
@ Int2
2D integer.
Definition: ISettingsProvider.h:120
Error
Config parsing error codes.
Definition: ISettingsProvider.h:37
Value(int x, int y, int z, int w) noexcept
Initialize a 4d integer value.
Definition: ISettingsProvider.h:164
@ Int4
4D integer.
Definition: ISettingsProvider.h:122
virtual void setDesc(const Key &key, const Desc &desc) noexcept=0
Set parameter description.
Entry(const Desc &desc, Value &&value) noexcept
Initialize an entry.
char m_desc[m_bufferLength]
Parameter description text.
Definition: ISettingsProvider.h:642
bool getFloat(float *x) const noexcept
Get a float value.
@ InvalidTag
Parser could not determine tag type.
@ MemoryAllocationFailed
memory allocation failed for internal data
@ InvalidEndElement
Parsing error occurred while parsing end element tag.
void setEntry(const char *section, const char *parameter, const Desc &desc, Value &&value) noexcept
Set parameter.
Definition: ISettingsProvider.h:787
bool getInt(int *x) const noexcept
Get an int value.
@ Float4
4D floating point.
Definition: ISettingsProvider.h:126
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition: Def.h:59
bool getFloat(float *x, float *y, float *z, float *w) const noexcept
Get a 4d float value.
const Value & getValue(const char *section, const char *parameter) const noexcept
Get parameter value.
Definition: ISettingsProvider.h:848
void setDesc(const char *section, const char *parameter, const Desc &desc) noexcept
Set parameter description.
Definition: ISettingsProvider.h:723
void setFloat(float x, float y, float z, float w) noexcept
Set a 4d float value.
Value() noexcept
Initialize an empty value.
Definition: ISettingsProvider.h:134
@ InvalidPcdata
Parsing error occurred while parsing PCDATA section.
virtual bool isEmpty() const noexcept=0
Value(int x, int y) noexcept
Initialize a 2d integer value.
Definition: ISettingsProvider.h:147
@ InvalidSettings
Settings section is invalid or absent.
const char * getDesc() const noexcept
Get description text.
Definition: ISettingsProvider.h:630
Vector2< float > Point2f
Definition: Vector2.h:286
void setFloat(float x) noexcept
Set a float value.
const char * getParameter() const noexcept
Get parameter name.
Definition: ISettingsProvider.h:584
Value(bool x) noexcept
Initialize a bool value.
Definition: ISettingsProvider.h:225
void setDesc(const char *desc) noexcept
Set description text.
Definition: ISettingsProvider.inl:359
SDK namespace.
Definition: IAGSEstimator.h:8
Value m_value
Parameter value.
Definition: ISettingsProvider.h:649
void setDesc(const Desc &desc) noexcept
Set description.
Definition: ISettingsProvider.inl:371
@ EndElementMismatch
There was a mismatch of start-end tags (closing tag had incorrect name, some tag was not closed or th...
@ Float2
2D floating point.
Definition: ISettingsProvider.h:124
const Desc & getDesc() const noexcept
Get description.
Definition: ISettingsProvider.h:693
Desc() noexcept
Initialize an empty description.
void setInt(int x) noexcept
Set an int value.
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > createSettingsProvider(const char *path) noexcept
Create a settings provider.
Configuration parameter key.
Definition: ISettingsProvider.h:560
Value(const Point2f &point) noexcept
Initialize a point value.
Definition: ISettingsProvider.h:219
Definition: ISettingsProvider.h:104
@ InvalidStartElement
Parsing error occurred while parsing start element tag.
@ FileNotFound
File was not found during load_file()
Definition: ISettingsProvider.h:106
SDK settings provider interface.
Definition: ISettingsProvider.h:32
@ AppendInvalidRoot
Unable to append nodes since root type is not node_element or node_document (exclusive to xml_node::a...
Definition: ISettingsProvider.h:109
Configuration parameter description.
Definition: ISettingsProvider.h:615
const Value & getValue(const Key &key) const noexcept
Get parameter value.
Definition: ISettingsProvider.h:836
Value(float x, float y, float z) noexcept
Initialize a 3d float value.
Definition: ISettingsProvider.h:185
#define FSDK_API
Dummy.
Definition: Def.h:27
bool operator<(Version lhs, Version rhs) noexcept
Check if one version is less than another.
Definition: Version.h:36
void setFloat(float x, float y, float z) noexcept
Set a 3d float value.
Entry() noexcept=default
Initialize an empty entry.
@ InvalidAttribute
Parsing error occurred while parsing element attribute.
Value(const char *string) noexcept
Initialize a string value.
Definition: ISettingsProvider.h:201
@ InvalidDocType
Parsing error occurred while parsing document type declaration.
Definition: ISettingsProvider.h:107
Desc getDesc(const Key &key) const noexcept
Get parameter description.
Definition: ISettingsProvider.h:811
Value(float x, float y) noexcept
Initialize a 2d float value.
Definition: ISettingsProvider.h:177
Definition: ISettingsProvider.h:103
Value(const Size &size) noexcept
Initialize a size value.
Definition: ISettingsProvider.h:213
Value(float x, float y, float z, float w) noexcept
Initialize a 4d float value.
Definition: ISettingsProvider.h:194
bool getFloat(float *x, float *y) const noexcept
Get a 2d float value.
Definition: ISettingsProvider.h:105
@ Internal
Internal error occurred.
@ Memory
Could not allocate memory.
Definition: ISettingsProvider.h:110
bool getInt(int *x, int *y, int *z) const noexcept
Get a 3d int value.
Configuration parameter value.
Definition: ISettingsProvider.h:97
Desc m_desc
Parameter description.
Definition: ISettingsProvider.h:650
@ Float3
3D floating point.
Definition: ISettingsProvider.h:125
@ Float1
floating point.
Definition: ISettingsProvider.h:123
@ Undefined
Unkown value type.
Definition: ISettingsProvider.h:118
@ InvalidComment
Parsing error occurred while parsing comment.
Value(const Rect &rect) noexcept
Initialize a rect value.
Definition: ISettingsProvider.h:207
@ Int3
3D integer.
Definition: ISettingsProvider.h:121
A structure that encapsulates an action result enumeration.
Definition: Result.h:30
virtual bool save(const char *path) const noexcept=0
Save settings values using the default path.
@ Int1
Integer.
Definition: ISettingsProvider.h:119
void setEntry(const Key &key, const Desc &desc, Value &&value) noexcept
Set parameter.
Definition: ISettingsProvider.h:771
void setFloat(float x, float y) noexcept
Set a 2d float value.
const Value & getValue() const noexcept
Get value.
Definition: ISettingsProvider.h:701
Type
Value type.
Definition: ISettingsProvider.h:117
Definition: ISettingsProvider.h:108
void setValue(Value &&value) noexcept
Set value.
Definition: ISettingsProvider.inl:376
bool getInt(int *x, int *y) const noexcept
Get a 2d int value.
Value(float x) noexcept
Initialize a float value.
Definition: ISettingsProvider.h:170
Value(int x, int y, int z) noexcept
Initialize a 3d integer value.
Definition: ISettingsProvider.h:155
@ InvalidCdata
Parsing error occurred while parsing CDATA section.
virtual Result< Error > load(const char *path) noexcept=0
Load settings from given path.
virtual void clear() noexcept=0
Clear settings.
bool getInt(int *x, int *y, int *z, int *w) const noexcept
Get a 4d int value.
virtual const char * getDefaultPath() const noexcept=0
Get settings path this provider is bound to.
void setInt(int x, int y, int z) noexcept
Set a 3d int value.
bool getFloat(float *x, float *y, float *z) const noexcept
Get a 3d float value.
void setInt(int x, int y) noexcept
Set a 2d int value.
Desc getDesc(const char *section, const char *parameter) const noexcept
Get parameter description.
Definition: ISettingsProvider.h:823
virtual void setEntry(const Key &key, Entry &&entry) noexcept=0
Set parameter.
bool is(Type type) const noexcept
Check if value type is of concrete type.
Definition: ISettingsProvider.h:238
@ InvalidPi
Parsing error occurred while parsing document declaration/processing instruction.
Value data.
Definition: ISettingsProvider.h:102
Base strong reference counted object interface.
Definition: IRefCounted.h:36
Configuration parameter entry.
Definition: ISettingsProvider.h:647
virtual void setValue(const Key &key, Value &&value) noexcept=0
Set parameter value.
void setInt(int x, int y, int z, int w) noexcept
Set a 4d int value.
virtual const Entry & getEntry(const Key &key) const noexcept=0
Find parameter entry.
@ NoDocumentElement
Parsing resulted in a document without element nodes.
void setValue(const char *section, const char *parameter, Value &&value) noexcept
Set parameter value.
Definition: ISettingsProvider.h:747
Key() noexcept
Initialize an empty key.
Addon for Result to output some value aside the result. Specialization for copiable types.
Definition: ResultValue.h:21