Fix missing format when writing Algorithm-based objects
Added a writeFormat() method to Algorithm which must be called by the write() method of derived classes.
This commit is contained in:
@@ -3059,6 +3059,9 @@ public:
|
||||
/** Returns the algorithm string identifier.
|
||||
This string is used as top level xml/yml node tag when the object is saved to a file or string. */
|
||||
CV_WRAP virtual String getDefaultName() const;
|
||||
|
||||
protected:
|
||||
void writeFormat(FileStorage& fs) const;
|
||||
};
|
||||
|
||||
struct Param {
|
||||
|
@@ -57,7 +57,6 @@ void Algorithm::save(const String& filename) const
|
||||
{
|
||||
FileStorage fs(filename, FileStorage::WRITE);
|
||||
fs << getDefaultName() << "{";
|
||||
fs << "format" << (int)3;
|
||||
write(fs);
|
||||
fs << "}";
|
||||
}
|
||||
@@ -67,6 +66,11 @@ String Algorithm::getDefaultName() const
|
||||
return String("my_object");
|
||||
}
|
||||
|
||||
void Algorithm::writeFormat(FileStorage& fs) const
|
||||
{
|
||||
fs << "format" << (int)3;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* End of file. */
|
||||
|
Reference in New Issue
Block a user