Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
This commit is contained in:
@@ -351,6 +351,6 @@ void Command::Save(Writer& writer) const
|
||||
void Command::Restore(XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Command");
|
||||
std::string gcode = reader.getAttribute("gcode");
|
||||
std::string gcode = reader.getAttribute<const char*>("gcode");
|
||||
setFromGCode(gcode);
|
||||
}
|
||||
|
||||
@@ -507,7 +507,7 @@ void Toolpath::SaveDocFile(Base::Writer& writer) const
|
||||
void Toolpath::Restore(XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Path");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
|
||||
@@ -104,19 +104,19 @@ void PropertyPath::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Path");
|
||||
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("version")) {
|
||||
int version = reader.getAttributeAsInteger("version");
|
||||
int version = reader.getAttribute<long>("version");
|
||||
if (version >= Toolpath::SchemaVersion) {
|
||||
reader.readElement("Center");
|
||||
double x = reader.getAttributeAsFloat("x");
|
||||
double y = reader.getAttributeAsFloat("y");
|
||||
double z = reader.getAttributeAsFloat("z");
|
||||
double x = reader.getAttribute<double>("x");
|
||||
double y = reader.getAttribute<double>("y");
|
||||
double z = reader.getAttribute<double>("z");
|
||||
Base::Vector3d center(x, y, z);
|
||||
_Path.setCenter(center);
|
||||
}
|
||||
|
||||
@@ -2343,32 +2343,32 @@ void FemMesh::Save(Base::Writer& writer) const
|
||||
void FemMesh::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("FemMesh");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
if (reader.hasAttribute("a11")) {
|
||||
_Mtrx[0][0] = reader.getAttributeAsFloat("a11");
|
||||
_Mtrx[0][1] = reader.getAttributeAsFloat("a12");
|
||||
_Mtrx[0][2] = reader.getAttributeAsFloat("a13");
|
||||
_Mtrx[0][3] = reader.getAttributeAsFloat("a14");
|
||||
_Mtrx[0][0] = reader.getAttribute<double>("a11");
|
||||
_Mtrx[0][1] = reader.getAttribute<double>("a12");
|
||||
_Mtrx[0][2] = reader.getAttribute<double>("a13");
|
||||
_Mtrx[0][3] = reader.getAttribute<double>("a14");
|
||||
|
||||
_Mtrx[1][0] = reader.getAttributeAsFloat("a21");
|
||||
_Mtrx[1][1] = reader.getAttributeAsFloat("a22");
|
||||
_Mtrx[1][2] = reader.getAttributeAsFloat("a23");
|
||||
_Mtrx[1][3] = reader.getAttributeAsFloat("a24");
|
||||
_Mtrx[1][0] = reader.getAttribute<double>("a21");
|
||||
_Mtrx[1][1] = reader.getAttribute<double>("a22");
|
||||
_Mtrx[1][2] = reader.getAttribute<double>("a23");
|
||||
_Mtrx[1][3] = reader.getAttribute<double>("a24");
|
||||
|
||||
_Mtrx[2][0] = reader.getAttributeAsFloat("a31");
|
||||
_Mtrx[2][1] = reader.getAttributeAsFloat("a32");
|
||||
_Mtrx[2][2] = reader.getAttributeAsFloat("a33");
|
||||
_Mtrx[2][3] = reader.getAttributeAsFloat("a34");
|
||||
_Mtrx[2][0] = reader.getAttribute<double>("a31");
|
||||
_Mtrx[2][1] = reader.getAttribute<double>("a32");
|
||||
_Mtrx[2][2] = reader.getAttribute<double>("a33");
|
||||
_Mtrx[2][3] = reader.getAttribute<double>("a34");
|
||||
|
||||
_Mtrx[3][0] = reader.getAttributeAsFloat("a41");
|
||||
_Mtrx[3][1] = reader.getAttributeAsFloat("a42");
|
||||
_Mtrx[3][2] = reader.getAttributeAsFloat("a43");
|
||||
_Mtrx[3][3] = reader.getAttributeAsFloat("a44");
|
||||
_Mtrx[3][0] = reader.getAttribute<double>("a41");
|
||||
_Mtrx[3][1] = reader.getAttribute<double>("a42");
|
||||
_Mtrx[3][2] = reader.getAttribute<double>("a43");
|
||||
_Mtrx[3][3] = reader.getAttribute<double>("a44");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ void PropertyPostDataObject::Restore(Base::XMLReader& reader)
|
||||
return;
|
||||
}
|
||||
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
|
||||
@@ -646,7 +646,7 @@ void PropertyDistanceList::Save(Base::Writer& writer) const
|
||||
void PropertyDistanceList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("FloatList");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
|
||||
@@ -91,7 +91,7 @@ void PropertyMaterial::Restore(Base::XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("PropertyMaterial");
|
||||
// get the value of my Attribute
|
||||
auto uuid = reader.getAttribute("uuid");
|
||||
auto uuid = reader.getAttribute<const char*>("uuid");
|
||||
|
||||
setValue(*MaterialManager::getManager().getMaterial(QString::fromLatin1(uuid)));
|
||||
}
|
||||
|
||||
@@ -867,29 +867,29 @@ void MeshInput::LoadXML(Base::XMLReader& reader)
|
||||
// reader.readElement("Mesh");
|
||||
|
||||
reader.readElement("Points");
|
||||
int Cnt = reader.getAttributeAsInteger("Count");
|
||||
int Cnt = reader.getAttribute<long>("Count");
|
||||
|
||||
cPoints.resize(Cnt);
|
||||
for (int i = 0; i < Cnt; i++) {
|
||||
reader.readElement("P");
|
||||
cPoints[i].x = (float)reader.getAttributeAsFloat("x");
|
||||
cPoints[i].y = (float)reader.getAttributeAsFloat("y");
|
||||
cPoints[i].z = (float)reader.getAttributeAsFloat("z");
|
||||
cPoints[i].x = (float)reader.getAttribute<double>("x");
|
||||
cPoints[i].y = (float)reader.getAttribute<double>("y");
|
||||
cPoints[i].z = (float)reader.getAttribute<double>("z");
|
||||
}
|
||||
reader.readEndElement("Points");
|
||||
|
||||
reader.readElement("Faces");
|
||||
Cnt = reader.getAttributeAsInteger("Count");
|
||||
Cnt = reader.getAttribute<long>("Count");
|
||||
|
||||
cFacets.resize(Cnt);
|
||||
for (int i = 0; i < Cnt; i++) {
|
||||
reader.readElement("F");
|
||||
cFacets[i]._aulPoints[0] = reader.getAttributeAsInteger("p0");
|
||||
cFacets[i]._aulPoints[1] = reader.getAttributeAsInteger("p1");
|
||||
cFacets[i]._aulPoints[2] = reader.getAttributeAsInteger("p2");
|
||||
cFacets[i]._aulNeighbours[0] = reader.getAttributeAsInteger("n0");
|
||||
cFacets[i]._aulNeighbours[1] = reader.getAttributeAsInteger("n1");
|
||||
cFacets[i]._aulNeighbours[2] = reader.getAttributeAsInteger("n2");
|
||||
cFacets[i]._aulPoints[0] = reader.getAttribute<long>("p0");
|
||||
cFacets[i]._aulPoints[1] = reader.getAttribute<long>("p1");
|
||||
cFacets[i]._aulPoints[2] = reader.getAttribute<long>("p2");
|
||||
cFacets[i]._aulNeighbours[0] = reader.getAttribute<long>("n0");
|
||||
cFacets[i]._aulNeighbours[1] = reader.getAttribute<long>("n1");
|
||||
cFacets[i]._aulNeighbours[2] = reader.getAttribute<long>("n2");
|
||||
}
|
||||
|
||||
reader.readEndElement("Faces");
|
||||
|
||||
@@ -135,7 +135,7 @@ void PropertyNormalList::Save(Base::Writer& writer) const
|
||||
void PropertyNormalList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VectorList");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
@@ -326,7 +326,7 @@ void PropertyCurvatureList::Save(Base::Writer& writer) const
|
||||
void PropertyCurvatureList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("CurvatureList");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
@@ -598,7 +598,7 @@ void PropertyMaterial::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Material");
|
||||
if (reader.hasAttribute("file")) {
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
@@ -896,7 +896,7 @@ void PropertyMeshKernel::Save(Base::Writer& writer) const
|
||||
void PropertyMeshKernel::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Mesh");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (file.empty()) {
|
||||
// read XML
|
||||
|
||||
@@ -87,16 +87,16 @@ App::DocumentObjectExecReturn *Box::execute()
|
||||
void Box::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
reader.readElement("Properties");
|
||||
int Cnt = reader.getAttributeAsInteger("Count");
|
||||
int Cnt = reader.getAttribute<long>("Count");
|
||||
int transientCount = 0;
|
||||
if(reader.hasAttribute("TransientCount"))
|
||||
transientCount = reader.getAttributeAsUnsigned("TransientCount");
|
||||
transientCount = reader.getAttribute<unsigned long>("TransientCount");
|
||||
|
||||
for (int i=0;i<transientCount; ++i) {
|
||||
reader.readElement("_Property");
|
||||
App::Property* prop = getPropertyByName(reader.getAttribute("name"));
|
||||
App::Property* prop = getPropertyByName(reader.getAttribute<const char*>("name"));
|
||||
if(prop && reader.hasAttribute("status"))
|
||||
prop->setStatusValue(reader.getAttributeAsUnsigned("status"));
|
||||
prop->setStatusValue(reader.getAttribute<unsigned long>("status"));
|
||||
}
|
||||
|
||||
bool location_xyz = false;
|
||||
@@ -109,15 +109,15 @@ void Box::Restore(Base::XMLReader &reader)
|
||||
Axis.setValue(0.0f,0.0f,1.0f);
|
||||
for (int i=0 ;i<Cnt;i++) {
|
||||
reader.readElement("Property");
|
||||
const char* PropName = reader.getAttribute("name");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* PropName = reader.getAttribute<const char*>("name");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
auto prop = dynamicProps.restore(*this,PropName,TypeName,reader);
|
||||
if(!prop)
|
||||
prop = getPropertyByName(PropName);
|
||||
|
||||
std::bitset<32> status;
|
||||
if(reader.hasAttribute("status")) {
|
||||
status = reader.getAttributeAsUnsigned("status");
|
||||
status = reader.getAttribute<unsigned long>("status");
|
||||
if(prop)
|
||||
prop->setStatusValue(status.to_ulong());
|
||||
}
|
||||
|
||||
@@ -313,11 +313,11 @@ void Geometry::Restore(Base::XMLReader &reader)
|
||||
|
||||
if(strcmp(reader.localName(),"GeoExtensions") == 0) { // new format
|
||||
|
||||
long count = reader.getAttributeAsInteger("count");
|
||||
long count = reader.getAttribute<long>("count");
|
||||
|
||||
for (long index = 0; index < count; index++) {
|
||||
reader.readElement("GeoExtension");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
Base::Type type = Base::Type::fromName(TypeName);
|
||||
auto *newExtension = static_cast<GeometryPersistenceExtension *>(type.createInstance());
|
||||
if (newExtension) {
|
||||
@@ -334,7 +334,7 @@ void Geometry::Restore(Base::XMLReader &reader)
|
||||
}
|
||||
else if(strcmp(reader.localName(),"Construction") == 0) { // legacy
|
||||
|
||||
bool construction = (int)reader.getAttributeAsInteger("value") != 0;
|
||||
bool construction = (int)reader.getAttribute<long>("value") != 0;
|
||||
|
||||
// prepare migration
|
||||
if(!this->hasExtension(GeometryMigrationExtension::getClassTypeId()))
|
||||
@@ -636,9 +636,9 @@ void GeomPoint::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("GeomPoint");
|
||||
// get the value of my Attribute
|
||||
X = reader.getAttributeAsFloat("X");
|
||||
Y = reader.getAttributeAsFloat("Y");
|
||||
Z = reader.getAttributeAsFloat("Z");
|
||||
X = reader.getAttribute<double>("X");
|
||||
Y = reader.getAttribute<double>("Y");
|
||||
Z = reader.getAttribute<double>("Z");
|
||||
|
||||
// set the read geometry
|
||||
setPoint(Base::Vector3d(X,Y,Z) );
|
||||
@@ -1252,17 +1252,17 @@ void GeomBezierCurve::Restore(Base::XMLReader& reader)
|
||||
|
||||
reader.readElement("BezierCurve");
|
||||
// get the value of my attribute
|
||||
int polescount = reader.getAttributeAsInteger("PolesCount");
|
||||
int polescount = reader.getAttribute<long>("PolesCount");
|
||||
|
||||
TColgp_Array1OfPnt poleArray(1,polescount);
|
||||
TColStd_Array1OfReal weightArray(1,polescount);
|
||||
|
||||
for (int index = 1; index <= polescount; index++) {
|
||||
reader.readElement("Pole");
|
||||
double X = reader.getAttributeAsFloat("X");
|
||||
double Y = reader.getAttributeAsFloat("Y");
|
||||
double Z = reader.getAttributeAsFloat("Z");
|
||||
double W = reader.getAttributeAsFloat("Weight");
|
||||
double X = reader.getAttribute<double>("X");
|
||||
double Y = reader.getAttribute<double>("Y");
|
||||
double Z = reader.getAttribute<double>("Z");
|
||||
double W = reader.getAttribute<double>("Weight");
|
||||
poleArray.SetValue(index, gp_Pnt(X,Y,Z));
|
||||
weightArray.SetValue(index, W);
|
||||
}
|
||||
@@ -2006,10 +2006,10 @@ void GeomBSplineCurve::Restore(Base::XMLReader& reader)
|
||||
|
||||
reader.readElement("BSplineCurve");
|
||||
// get the value of my attribute
|
||||
int polescount = reader.getAttributeAsInteger("PolesCount");
|
||||
int knotscount = reader.getAttributeAsInteger("KnotsCount");
|
||||
int degree = reader.getAttributeAsInteger("Degree");
|
||||
bool isperiodic = (bool) reader.getAttributeAsInteger("IsPeriodic");
|
||||
int polescount = reader.getAttribute<long>("PolesCount");
|
||||
int knotscount = reader.getAttribute<long>("KnotsCount");
|
||||
int degree = reader.getAttribute<long>("Degree");
|
||||
bool isperiodic = reader.getAttribute<bool>("IsPeriodic");
|
||||
|
||||
// Handle(Geom_BSplineCurve) spline = new
|
||||
// Geom_BSplineCurve(occpoles,occweights,occknots,occmults,degree,
|
||||
@@ -2023,18 +2023,18 @@ void GeomBSplineCurve::Restore(Base::XMLReader& reader)
|
||||
|
||||
for (int i = 1; i <= polescount; i++) {
|
||||
reader.readElement("Pole");
|
||||
double X = reader.getAttributeAsFloat("X");
|
||||
double Y = reader.getAttributeAsFloat("Y");
|
||||
double Z = reader.getAttributeAsFloat("Z");
|
||||
double W = reader.getAttributeAsFloat("Weight");
|
||||
double X = reader.getAttribute<double>("X");
|
||||
double Y = reader.getAttribute<double>("Y");
|
||||
double Z = reader.getAttribute<double>("Z");
|
||||
double W = reader.getAttribute<double>("Weight");
|
||||
p.SetValue(i, gp_Pnt(X,Y,Z));
|
||||
w.SetValue(i, W);
|
||||
}
|
||||
|
||||
for (int i = 1; i <= knotscount; i++) {
|
||||
reader.readElement("Knot");
|
||||
double val = reader.getAttributeAsFloat("Value");
|
||||
Standard_Integer mult = reader.getAttributeAsInteger("Mult");
|
||||
double val = reader.getAttribute<double>("Value");
|
||||
Standard_Integer mult = reader.getAttribute<long>("Mult");
|
||||
k.SetValue(i, val);
|
||||
m.SetValue(i, mult);
|
||||
}
|
||||
@@ -2746,15 +2746,15 @@ void GeomCircle::Restore(Base::XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("Circle");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
if (reader.hasAttribute("AngleXU"))
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
Radius = reader.getAttributeAsFloat("Radius");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
Radius = reader.getAttribute<double>("Radius");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt p1(CenterX,CenterY,CenterZ);
|
||||
@@ -2996,17 +2996,17 @@ void GeomArcOfCircle::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("ArcOfCircle");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
if (reader.hasAttribute("AngleXU"))
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
Radius = reader.getAttributeAsFloat("Radius");
|
||||
StartAngle = reader.getAttributeAsFloat("StartAngle");
|
||||
EndAngle = reader.getAttributeAsFloat("EndAngle");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
Radius = reader.getAttribute<double>("Radius");
|
||||
StartAngle = reader.getAttribute<double>("StartAngle");
|
||||
EndAngle = reader.getAttribute<double>("EndAngle");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt p1(CenterX,CenterY,CenterZ);
|
||||
@@ -3257,18 +3257,18 @@ void GeomEllipse::Restore(Base::XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("Ellipse");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
|
||||
// This is for backwards compatibility
|
||||
if(reader.hasAttribute("AngleXU"))
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
else
|
||||
AngleXU = 0;
|
||||
|
||||
@@ -3545,17 +3545,17 @@ void GeomArcOfEllipse::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("ArcOfEllipse");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
StartAngle = reader.getAttributeAsFloat("StartAngle");
|
||||
EndAngle = reader.getAttributeAsFloat("EndAngle");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
StartAngle = reader.getAttribute<double>("StartAngle");
|
||||
EndAngle = reader.getAttribute<double>("EndAngle");
|
||||
|
||||
|
||||
// set the read geometry
|
||||
@@ -3724,15 +3724,15 @@ void GeomHyperbola::Restore(Base::XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("Hyperbola");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt p1(CenterX,CenterY,CenterZ);
|
||||
@@ -4000,17 +4000,17 @@ void GeomArcOfHyperbola::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("ArcOfHyperbola");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
StartAngle = reader.getAttributeAsFloat("StartAngle");
|
||||
EndAngle = reader.getAttributeAsFloat("EndAngle");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
StartAngle = reader.getAttribute<double>("StartAngle");
|
||||
EndAngle = reader.getAttribute<double>("EndAngle");
|
||||
|
||||
|
||||
// set the read geometry
|
||||
@@ -4159,14 +4159,14 @@ void GeomParabola::Restore(Base::XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("Parabola");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
Focal = reader.getAttributeAsFloat("Focal");
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
Focal = reader.getAttribute<double>("Focal");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt p1(CenterX,CenterY,CenterZ);
|
||||
@@ -4366,16 +4366,16 @@ void GeomArcOfParabola::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("ArcOfParabola");
|
||||
// get the value of my Attribute
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
CenterZ = reader.getAttributeAsFloat("CenterZ");
|
||||
NormalX = reader.getAttributeAsFloat("NormalX");
|
||||
NormalY = reader.getAttributeAsFloat("NormalY");
|
||||
NormalZ = reader.getAttributeAsFloat("NormalZ");
|
||||
Focal = reader.getAttributeAsFloat("Focal");
|
||||
AngleXU = reader.getAttributeAsFloat("AngleXU");
|
||||
StartAngle = reader.getAttributeAsFloat("StartAngle");
|
||||
EndAngle = reader.getAttributeAsFloat("EndAngle");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
CenterZ = reader.getAttribute<double>("CenterZ");
|
||||
NormalX = reader.getAttribute<double>("NormalX");
|
||||
NormalY = reader.getAttribute<double>("NormalY");
|
||||
NormalZ = reader.getAttribute<double>("NormalZ");
|
||||
Focal = reader.getAttribute<double>("Focal");
|
||||
AngleXU = reader.getAttribute<double>("AngleXU");
|
||||
StartAngle = reader.getAttribute<double>("StartAngle");
|
||||
EndAngle = reader.getAttribute<double>("EndAngle");
|
||||
|
||||
|
||||
// set the read geometry
|
||||
@@ -4508,12 +4508,12 @@ void GeomLine::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("GeomLine");
|
||||
// get the value of my Attribute
|
||||
PosX = reader.getAttributeAsFloat("PosX");
|
||||
PosY = reader.getAttributeAsFloat("PosY");
|
||||
PosZ = reader.getAttributeAsFloat("PosZ");
|
||||
DirX = reader.getAttributeAsFloat("DirX");
|
||||
DirY = reader.getAttributeAsFloat("DirY");
|
||||
DirZ = reader.getAttributeAsFloat("DirZ");
|
||||
PosX = reader.getAttribute<double>("PosX");
|
||||
PosY = reader.getAttribute<double>("PosY");
|
||||
PosZ = reader.getAttribute<double>("PosZ");
|
||||
DirX = reader.getAttribute<double>("DirX");
|
||||
DirY = reader.getAttribute<double>("DirY");
|
||||
DirZ = reader.getAttribute<double>("DirZ");
|
||||
|
||||
// set the read geometry
|
||||
setLine(Base::Vector3d(PosX,PosY,PosZ),Base::Vector3d(DirX,DirY,DirZ) );
|
||||
@@ -4665,12 +4665,12 @@ void GeomLineSegment::Restore (Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("LineSegment");
|
||||
// get the value of my Attribute
|
||||
StartX = reader.getAttributeAsFloat("StartX");
|
||||
StartY = reader.getAttributeAsFloat("StartY");
|
||||
StartZ = reader.getAttributeAsFloat("StartZ");
|
||||
EndX = reader.getAttributeAsFloat("EndX");
|
||||
EndY = reader.getAttributeAsFloat("EndY");
|
||||
EndZ = reader.getAttributeAsFloat("EndZ");
|
||||
StartX = reader.getAttribute<double>("StartX");
|
||||
StartY = reader.getAttribute<double>("StartY");
|
||||
StartZ = reader.getAttribute<double>("StartZ");
|
||||
EndX = reader.getAttribute<double>("EndX");
|
||||
EndY = reader.getAttribute<double>("EndY");
|
||||
EndZ = reader.getAttribute<double>("EndZ");
|
||||
|
||||
Base::Vector3d start(StartX,StartY,StartZ);
|
||||
Base::Vector3d end(EndX,EndY,EndZ);
|
||||
|
||||
@@ -187,8 +187,8 @@ void Geom2dPoint::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("Geom2dPoint");
|
||||
// get the value of my Attribute
|
||||
X = reader.getAttributeAsFloat("X");
|
||||
Y = reader.getAttributeAsFloat("Y");
|
||||
X = reader.getAttribute<double>("X");
|
||||
Y = reader.getAttribute<double>("Y");
|
||||
|
||||
// set the read geometry
|
||||
setPoint(Base::Vector2d(X,Y));
|
||||
@@ -635,12 +635,12 @@ void Geom2dConic::SaveAxis(Base::Writer& writer, const gp_Ax22d& axis) const
|
||||
void Geom2dConic::RestoreAxis(Base::XMLReader& reader, gp_Ax22d& axis)
|
||||
{
|
||||
double CenterX,CenterY,XdirX,XdirY,YdirX,YdirY;
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
XdirX = reader.getAttributeAsFloat("XAxisX");
|
||||
XdirY = reader.getAttributeAsFloat("XAxisY");
|
||||
YdirX = reader.getAttributeAsFloat("YAxisX");
|
||||
YdirY = reader.getAttributeAsFloat("YAxisY");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
XdirX = reader.getAttribute<double>("XAxisX");
|
||||
XdirY = reader.getAttribute<double>("XAxisY");
|
||||
YdirX = reader.getAttribute<double>("YAxisX");
|
||||
YdirY = reader.getAttribute<double>("YAxisY");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt2d p1(CenterX,CenterY);
|
||||
@@ -763,14 +763,14 @@ void Geom2dArcOfConic::SaveAxis(Base::Writer& writer, const gp_Ax22d& axis, doub
|
||||
void Geom2dArcOfConic::RestoreAxis(Base::XMLReader& reader, gp_Ax22d& axis, double& u, double &v)
|
||||
{
|
||||
double CenterX,CenterY,XdirX,XdirY,YdirX,YdirY;
|
||||
CenterX = reader.getAttributeAsFloat("CenterX");
|
||||
CenterY = reader.getAttributeAsFloat("CenterY");
|
||||
XdirX = reader.getAttributeAsFloat("XAxisX");
|
||||
XdirY = reader.getAttributeAsFloat("XAxisY");
|
||||
YdirX = reader.getAttributeAsFloat("YAxisX");
|
||||
YdirY = reader.getAttributeAsFloat("YAxisY");
|
||||
u = reader.getAttributeAsFloat("FirstParameter");
|
||||
v = reader.getAttributeAsFloat("LastParameter");
|
||||
CenterX = reader.getAttribute<double>("CenterX");
|
||||
CenterY = reader.getAttribute<double>("CenterY");
|
||||
XdirX = reader.getAttribute<double>("XAxisX");
|
||||
XdirY = reader.getAttribute<double>("XAxisY");
|
||||
YdirX = reader.getAttribute<double>("YAxisX");
|
||||
YdirY = reader.getAttribute<double>("YAxisY");
|
||||
u = reader.getAttribute<double>("FirstParameter");
|
||||
v = reader.getAttribute<double>("LastParameter");
|
||||
|
||||
// set the read geometry
|
||||
gp_Pnt2d p1(CenterX,CenterY);
|
||||
@@ -863,7 +863,7 @@ void Geom2dCircle::Restore(Base::XMLReader& reader)
|
||||
reader.readElement("Geom2dCircle");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis);
|
||||
Radius = reader.getAttributeAsFloat("Radius");
|
||||
Radius = reader.getAttribute<double>("Radius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeCircle mc(axis, Radius);
|
||||
@@ -1022,7 +1022,7 @@ void Geom2dArcOfCircle::Restore(Base::XMLReader &reader)
|
||||
reader.readElement("Geom2dArcOfCircle");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis, u, v);
|
||||
Radius = reader.getAttributeAsFloat("Radius");
|
||||
Radius = reader.getAttribute<double>("Radius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeCircle mc(axis, Radius);
|
||||
@@ -1182,8 +1182,8 @@ void Geom2dEllipse::Restore(Base::XMLReader& reader)
|
||||
reader.readElement("Geom2dEllipse");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis);
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeEllipse mc(axis, MajorRadius, MinorRadius);
|
||||
@@ -1357,8 +1357,8 @@ void Geom2dArcOfEllipse::Restore(Base::XMLReader &reader)
|
||||
reader.readElement("Geom2dArcOfEllipse");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis, u, v);
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeEllipse mc(axis, MajorRadius, MinorRadius);
|
||||
@@ -1484,8 +1484,8 @@ void Geom2dHyperbola::Restore(Base::XMLReader& reader)
|
||||
reader.readElement("Geom2dHyperbola");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis);
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeHyperbola mc(axis, MajorRadius, MinorRadius);
|
||||
@@ -1615,8 +1615,8 @@ void Geom2dArcOfHyperbola::Restore(Base::XMLReader &reader)
|
||||
reader.readElement("Geom2dHyperbola");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis, u, v);
|
||||
MajorRadius = reader.getAttributeAsFloat("MajorRadius");
|
||||
MinorRadius = reader.getAttributeAsFloat("MinorRadius");
|
||||
MajorRadius = reader.getAttribute<double>("MajorRadius");
|
||||
MinorRadius = reader.getAttribute<double>("MinorRadius");
|
||||
|
||||
try {
|
||||
GCE2d_MakeHyperbola mc(axis, MajorRadius, MinorRadius);
|
||||
@@ -1724,7 +1724,7 @@ void Geom2dParabola::Restore(Base::XMLReader& reader)
|
||||
gp_Ax22d axis;
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis);
|
||||
Focal = reader.getAttributeAsFloat("Focal");
|
||||
Focal = reader.getAttribute<double>("Focal");
|
||||
|
||||
try {
|
||||
GCE2d_MakeParabola mc(axis, Focal);
|
||||
@@ -1835,7 +1835,7 @@ void Geom2dArcOfParabola::Restore(Base::XMLReader &reader)
|
||||
reader.readElement("Geom2dParabola");
|
||||
// get the value of my Attribute
|
||||
RestoreAxis(reader, axis, u, v);
|
||||
Focal = reader.getAttributeAsFloat("Focal");
|
||||
Focal = reader.getAttribute<double>("Focal");
|
||||
|
||||
try {
|
||||
GCE2d_MakeParabola mc(axis, Focal);
|
||||
@@ -1946,10 +1946,10 @@ void Geom2dLine::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("Geom2dLine");
|
||||
// get the value of my Attribute
|
||||
PosX = reader.getAttributeAsFloat("PosX");
|
||||
PosY = reader.getAttributeAsFloat("PosY");
|
||||
DirX = reader.getAttributeAsFloat("DirX");
|
||||
DirY = reader.getAttributeAsFloat("DirY");
|
||||
PosX = reader.getAttribute<double>("PosX");
|
||||
PosY = reader.getAttribute<double>("PosY");
|
||||
DirX = reader.getAttribute<double>("DirX");
|
||||
DirY = reader.getAttribute<double>("DirY");
|
||||
gp_Pnt2d pnt(PosX, PosY);
|
||||
gp_Dir2d dir(DirX, DirY);
|
||||
|
||||
@@ -2078,10 +2078,10 @@ void Geom2dLineSegment::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("Geom2dLineSegment");
|
||||
// get the value of my Attribute
|
||||
StartX = reader.getAttributeAsFloat("StartX");
|
||||
StartY = reader.getAttributeAsFloat("StartY");
|
||||
EndX = reader.getAttributeAsFloat("EndX");
|
||||
EndY = reader.getAttributeAsFloat("EndY");
|
||||
StartX = reader.getAttribute<double>("StartX");
|
||||
StartY = reader.getAttribute<double>("StartY");
|
||||
EndX = reader.getAttribute<double>("EndX");
|
||||
EndY = reader.getAttribute<double>("EndY");
|
||||
|
||||
gp_Pnt2d p1(StartX, StartY);
|
||||
gp_Pnt2d p2(EndX, EndY);
|
||||
|
||||
@@ -54,7 +54,7 @@ void GeometryDefaultExtension<T>::restoreAttributes(Base::XMLReader &reader)
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
value = reader.getAttribute("value");
|
||||
value = reader.getAttribute<const char*>("value");
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -100,7 +100,7 @@ void GeometryDefaultExtension<long>::restoreAttributes(Base::XMLReader &reader)
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
value = reader.getAttributeAsInteger("value");
|
||||
value = reader.getAttribute<long>("value");
|
||||
}
|
||||
|
||||
// ---------- GeometryStringExtension ----------
|
||||
@@ -126,7 +126,7 @@ void GeometryDefaultExtension<bool>::restoreAttributes(Base::XMLReader &reader)
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
value = (bool)reader.getAttributeAsInteger("value");
|
||||
value = reader.getAttribute<bool>("value");
|
||||
}
|
||||
|
||||
// ---------- GeometryDoubleExtension ----------
|
||||
@@ -143,7 +143,7 @@ void GeometryDefaultExtension<double>::restoreAttributes(Base::XMLReader &reader
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
value = reader.getAttributeAsFloat("value");
|
||||
value = reader.getAttribute<double>("value");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ TYPESYSTEM_SOURCE_ABSTRACT(Part::GeometryPersistenceExtension,Part::GeometryExte
|
||||
void GeometryPersistenceExtension::restoreAttributes(Base::XMLReader &reader)
|
||||
{
|
||||
if(reader.hasAttribute("name")) {
|
||||
std::string name = reader.getAttribute("name");
|
||||
std::string name = reader.getAttribute<const char*>("name");
|
||||
setName(name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,13 +205,13 @@ void PropertyGeometryList::tryRestoreGeometry(Geometry * geom, Base::XMLReader &
|
||||
{
|
||||
// Not all geometry classes implement Restore() and throw an exception instead
|
||||
try {
|
||||
if (!reader.getAttributeAsInteger("migrated", "0") && reader.hasAttribute("id")) {
|
||||
if (!reader.getAttribute<long>("migrated", 0) && reader.hasAttribute("id")) {
|
||||
auto ext = std::make_unique<GeometryMigrationExtension>();
|
||||
ext->setId(reader.getAttributeAsInteger("id"));
|
||||
ext->setId(reader.getAttribute<long>("id"));
|
||||
if(reader.hasAttribute("ref")) {
|
||||
const char *ref = reader.getAttribute("ref");
|
||||
int index = reader.getAttributeAsInteger("refIndex", "1");
|
||||
unsigned long flags = (unsigned long)reader.getAttributeAsUnsigned("flags");
|
||||
const char *ref = reader.getAttribute<const char*>("ref");
|
||||
int index = reader.getAttribute<long>("refIndex", 1);
|
||||
unsigned long flags = (unsigned long)reader.getAttribute<unsigned long>("flags");
|
||||
ext->setReference(ref, index, flags);
|
||||
}
|
||||
geom->setExtension(std::move(ext));
|
||||
@@ -253,12 +253,12 @@ void PropertyGeometryList::Restore(Base::XMLReader &reader)
|
||||
reader.clearPartialRestoreObject();
|
||||
reader.readElement("GeometryList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
std::vector<Geometry*> values;
|
||||
values.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
reader.readElement("Geometry");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
Geometry *newG = static_cast<Geometry *>(Base::Type::fromName(TypeName).createInstance());
|
||||
tryRestoreGeometry(newG, reader);
|
||||
|
||||
|
||||
@@ -327,26 +327,26 @@ void PropertyPartShape::Restore(Base::XMLReader &reader)
|
||||
_Ver = "?";
|
||||
bool has_ver = reader.hasAttribute("ElementMap");
|
||||
if (has_ver)
|
||||
_Ver = reader.getAttribute("ElementMap");
|
||||
_Ver = reader.getAttribute<const char*>("ElementMap");
|
||||
|
||||
int hasher_idx = static_cast<int>(reader.getAttributeAsInteger("HasherIndex", "-1"));
|
||||
int save_hasher = static_cast<int>(reader.getAttributeAsInteger("SaveHasher", "0"));
|
||||
int hasher_idx = reader.getAttribute<int>("HasherIndex", -1);
|
||||
int save_hasher = reader.getAttribute<int>("SaveHasher", 0);
|
||||
|
||||
TopoShape shape;
|
||||
|
||||
if (reader.hasAttribute("file")) {
|
||||
std::string file = reader.getAttribute("file");
|
||||
std::string file = reader.getAttribute<const char*>("file");
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
}
|
||||
else if (reader.hasAttribute(("binary")) && reader.getAttributeAsInteger("binary")) {
|
||||
else if (reader.hasAttribute(("binary")) && reader.getAttribute<long>("binary")) {
|
||||
TopoShape shape;
|
||||
shape.importBinary(reader.beginCharStream());
|
||||
shape = shape.getShape();
|
||||
}
|
||||
else if (reader.hasAttribute("brep") && reader.getAttributeAsInteger("brep")) {
|
||||
else if (reader.hasAttribute("brep") && reader.getAttribute<long>("brep")) {
|
||||
shape.importBrep(reader.beginCharStream(Base::CharStreamFormat::Raw));
|
||||
}
|
||||
|
||||
@@ -843,7 +843,7 @@ void PropertyFilletEdges::Save (Base::Writer &writer) const
|
||||
void PropertyFilletEdges::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
reader.readElement("FilletEdges");
|
||||
std::string file (reader.getAttribute("file") );
|
||||
std::string file (reader.getAttribute<const char*>("file") );
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
|
||||
@@ -212,20 +212,20 @@ void PropertyTopoShapeList::SaveDocFile(Base::Writer& writer) const
|
||||
void PropertyTopoShapeList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("ShapeList");
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
m_restorePointers.clear(); // just in case
|
||||
m_restorePointers.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
auto newShape = std::make_shared<TopoShape>();
|
||||
reader.readElement("TopoShape");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
if (!file.empty()) {
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
else if (reader.hasAttribute("binary") && reader.getAttributeAsInteger("binary")) {
|
||||
else if (reader.hasAttribute("binary") && reader.getAttribute<bool>("binary")) {
|
||||
newShape->importBinary(reader.beginCharStream());
|
||||
}
|
||||
else if (reader.hasAttribute("brep") && reader.getAttributeAsInteger("brep")) {
|
||||
else if (reader.hasAttribute("brep") && reader.getAttribute<bool>("brep")) {
|
||||
newShape->importBrep(reader.beginCharStream());
|
||||
}
|
||||
m_restorePointers.push_back(newShape);
|
||||
|
||||
@@ -1498,7 +1498,7 @@ void ProfileBased::handleChangedPropertyName(Base::XMLReader & reader, const cha
|
||||
// read my element
|
||||
reader.readElement("Link");
|
||||
// get the value of my attribute
|
||||
std::string name = reader.getAttribute("value");
|
||||
std::string name = reader.getAttribute<const char*>("value");
|
||||
|
||||
if (!name.empty()) {
|
||||
App::Document* document = getDocument();
|
||||
|
||||
@@ -203,14 +203,14 @@ void PointKernel::Restore(Base::XMLReader& reader)
|
||||
clear();
|
||||
|
||||
reader.readElement("Points");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
if (reader.DocumentSchema > 3) {
|
||||
std::string Matrix(reader.getAttribute("mtrx"));
|
||||
std::string Matrix(reader.getAttribute<const char*>("mtrx"));
|
||||
_Mtrx.fromString(Matrix);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ void PropertyGreyValueList::Save(Base::Writer& writer) const
|
||||
void PropertyGreyValueList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("FloatList");
|
||||
string file(reader.getAttribute("file"));
|
||||
string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
@@ -309,7 +309,7 @@ void PropertyNormalList::Save(Base::Writer& writer) const
|
||||
void PropertyNormalList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VectorList");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
@@ -584,7 +584,7 @@ void PropertyCurvatureList::Save(Base::Writer& writer) const
|
||||
void PropertyCurvatureList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("CurvatureList");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
|
||||
@@ -103,14 +103,14 @@ void PropertyPointKernel::Save(Base::Writer& writer) const
|
||||
void PropertyPointKernel::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Points");
|
||||
std::string file(reader.getAttribute("file"));
|
||||
std::string file(reader.getAttribute<const char*>("file"));
|
||||
|
||||
if (!file.empty()) {
|
||||
// initiate a file read
|
||||
reader.addFile(file.c_str(), this);
|
||||
}
|
||||
if (reader.DocumentSchema > 3) {
|
||||
std::string Matrix(reader.getAttribute("mtrx"));
|
||||
std::string Matrix(reader.getAttribute<const char*>("mtrx"));
|
||||
Base::Matrix4D mtrx;
|
||||
mtrx.fromString(Matrix);
|
||||
|
||||
|
||||
@@ -188,32 +188,32 @@ void Robot6Axis::Restore(XMLReader& reader)
|
||||
// read my Element
|
||||
reader.readElement("Axis");
|
||||
// get the value of the placement
|
||||
Tip = Base::Placement(Base::Vector3d(reader.getAttributeAsFloat("Px"),
|
||||
reader.getAttributeAsFloat("Py"),
|
||||
reader.getAttributeAsFloat("Pz")),
|
||||
Base::Rotation(reader.getAttributeAsFloat("Q0"),
|
||||
reader.getAttributeAsFloat("Q1"),
|
||||
reader.getAttributeAsFloat("Q2"),
|
||||
reader.getAttributeAsFloat("Q3")));
|
||||
Tip = Base::Placement(Base::Vector3d(reader.getAttribute<double>("Px"),
|
||||
reader.getAttribute<double>("Py"),
|
||||
reader.getAttribute<double>("Pz")),
|
||||
Base::Rotation(reader.getAttribute<double>("Q0"),
|
||||
reader.getAttribute<double>("Q1"),
|
||||
reader.getAttribute<double>("Q2"),
|
||||
reader.getAttribute<double>("Q3")));
|
||||
Temp.addSegment(Segment(Joint(Joint::RotZ), toFrame(Tip)));
|
||||
|
||||
|
||||
if (reader.hasAttribute("rotDir")) {
|
||||
Velocity[i] = reader.getAttributeAsFloat("rotDir");
|
||||
Velocity[i] = reader.getAttribute<double>("rotDir");
|
||||
}
|
||||
else {
|
||||
Velocity[i] = 1.0;
|
||||
}
|
||||
// read the axis constraints
|
||||
Min(i) = Base::toRadians<double>(reader.getAttributeAsFloat("maxAngle"));
|
||||
Max(i) = Base::toRadians<double>(reader.getAttributeAsFloat("minAngle"));
|
||||
Min(i) = Base::toRadians<double>(reader.getAttribute<double>("maxAngle"));
|
||||
Max(i) = Base::toRadians<double>(reader.getAttribute<double>("minAngle"));
|
||||
if (reader.hasAttribute("AxisVelocity")) {
|
||||
Velocity[i] = reader.getAttributeAsFloat("AxisVelocity");
|
||||
Velocity[i] = reader.getAttribute<double>("AxisVelocity");
|
||||
}
|
||||
else {
|
||||
Velocity[i] = 156.0;
|
||||
}
|
||||
Actual(i) = reader.getAttributeAsFloat("Pos");
|
||||
Actual(i) = reader.getAttribute<double>("Pos");
|
||||
}
|
||||
Kinematic = Temp;
|
||||
|
||||
|
||||
@@ -335,7 +335,7 @@ void Trajectory::Restore(XMLReader& reader)
|
||||
// read my element
|
||||
reader.readElement("Trajectory");
|
||||
// get the value of my Attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
vpcWaypoints.resize(count);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
@@ -111,23 +111,23 @@ void Waypoint::Restore(XMLReader& reader)
|
||||
{
|
||||
// read my Element
|
||||
reader.readElement("Waypoint");
|
||||
Name = reader.getAttribute("name");
|
||||
Name = reader.getAttribute<const char*>("name");
|
||||
// get the value of the placement
|
||||
EndPos = Base::Placement(Base::Vector3d(reader.getAttributeAsFloat("Px"),
|
||||
reader.getAttributeAsFloat("Py"),
|
||||
reader.getAttributeAsFloat("Pz")),
|
||||
Base::Rotation(reader.getAttributeAsFloat("Q0"),
|
||||
reader.getAttributeAsFloat("Q1"),
|
||||
reader.getAttributeAsFloat("Q2"),
|
||||
reader.getAttributeAsFloat("Q3")));
|
||||
EndPos = Base::Placement(Base::Vector3d(reader.getAttribute<double>("Px"),
|
||||
reader.getAttribute<double>("Py"),
|
||||
reader.getAttribute<double>("Pz")),
|
||||
Base::Rotation(reader.getAttribute<double>("Q0"),
|
||||
reader.getAttribute<double>("Q1"),
|
||||
reader.getAttribute<double>("Q2"),
|
||||
reader.getAttribute<double>("Q3")));
|
||||
|
||||
Velocity = (float)reader.getAttributeAsFloat("vel");
|
||||
Acceleration = (float)reader.getAttributeAsFloat("acc");
|
||||
Cont = (reader.getAttributeAsInteger("cont") != 0) ? true : false;
|
||||
Tool = reader.getAttributeAsInteger("tool");
|
||||
Base = reader.getAttributeAsInteger("base");
|
||||
Velocity = (float)reader.getAttribute<double>("vel");
|
||||
Acceleration = (float)reader.getAttribute<double>("acc");
|
||||
Cont = reader.getAttribute<bool>("cont");
|
||||
Tool = reader.getAttribute<long>("tool");
|
||||
Base = reader.getAttribute<long>("base");
|
||||
|
||||
std::string type = reader.getAttribute("type");
|
||||
std::string type = reader.getAttribute<const char*>("type");
|
||||
if (type == "PTP") {
|
||||
Type = Waypoint::PTP;
|
||||
}
|
||||
|
||||
@@ -178,20 +178,19 @@ void Constraint::Save(Writer& writer) const
|
||||
void Constraint::Restore(XMLReader& reader)
|
||||
{
|
||||
reader.readElement("Constrain");
|
||||
Name = reader.getAttribute("Name");
|
||||
Type = static_cast<ConstraintType>(reader.getAttributeAsInteger("Type"));
|
||||
Value = reader.getAttributeAsFloat("Value");
|
||||
First = reader.getAttributeAsInteger("First");
|
||||
FirstPos = static_cast<PointPos>(reader.getAttributeAsInteger("FirstPos"));
|
||||
Second = reader.getAttributeAsInteger("Second");
|
||||
SecondPos = static_cast<PointPos>(reader.getAttributeAsInteger("SecondPos"));
|
||||
Name = reader.getAttribute<const char*>("Name");
|
||||
Type = reader.getAttribute<ConstraintType>("Type");
|
||||
Value = reader.getAttribute<double>("Value");
|
||||
First = reader.getAttribute<long>("First");
|
||||
FirstPos = reader.getAttribute<PointPos>("FirstPos");
|
||||
Second = reader.getAttribute<long>("Second");
|
||||
SecondPos = reader.getAttribute<PointPos>("SecondPos");
|
||||
|
||||
if (this->Type == InternalAlignment) {
|
||||
AlignmentType = static_cast<InternalAlignmentType>(
|
||||
reader.getAttributeAsInteger("InternalAlignmentType"));
|
||||
AlignmentType = reader.getAttribute<InternalAlignmentType>("InternalAlignmentType");
|
||||
|
||||
if (reader.hasAttribute("InternalAlignmentIndex")) {
|
||||
InternalAlignmentIndex = reader.getAttributeAsInteger("InternalAlignmentIndex");
|
||||
InternalAlignmentIndex = reader.getAttribute<long>("InternalAlignmentIndex");
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -200,29 +199,29 @@ void Constraint::Restore(XMLReader& reader)
|
||||
|
||||
// read the third geo group if present
|
||||
if (reader.hasAttribute("Third")) {
|
||||
Third = reader.getAttributeAsInteger("Third");
|
||||
ThirdPos = static_cast<PointPos>(reader.getAttributeAsInteger("ThirdPos"));
|
||||
Third = reader.getAttribute<long>("Third");
|
||||
ThirdPos = reader.getAttribute<PointPos>("ThirdPos");
|
||||
}
|
||||
|
||||
// Read the distance a constraint label has been moved
|
||||
if (reader.hasAttribute("LabelDistance")) {
|
||||
LabelDistance = (float)reader.getAttributeAsFloat("LabelDistance");
|
||||
LabelDistance = (float)reader.getAttribute<double>("LabelDistance");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("LabelPosition")) {
|
||||
LabelPosition = (float)reader.getAttributeAsFloat("LabelPosition");
|
||||
LabelPosition = (float)reader.getAttribute<double>("LabelPosition");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("IsDriving")) {
|
||||
isDriving = reader.getAttributeAsInteger("IsDriving") ? true : false;
|
||||
isDriving = reader.getAttribute<bool>("IsDriving");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("IsInVirtualSpace")) {
|
||||
isInVirtualSpace = reader.getAttributeAsInteger("IsInVirtualSpace") ? true : false;
|
||||
isInVirtualSpace = reader.getAttribute<bool>("IsInVirtualSpace");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("IsActive")) {
|
||||
isActive = reader.getAttributeAsInteger("IsActive") ? true : false;
|
||||
isActive = reader.getAttribute<bool>("IsActive");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,9 +48,9 @@ void ExternalGeometryExtension::restoreAttributes(Base::XMLReader& reader)
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
Ref = reader.getAttribute("Ref", "");
|
||||
RefIndex = reader.getAttributeAsInteger("RefIndex", "-1");
|
||||
Flags = FlagType(reader.getAttributeAsUnsigned("Flags", "0"));
|
||||
Ref = reader.getAttribute<const char*>("Ref", "");
|
||||
RefIndex = reader.getAttribute<long>("RefIndex", -1);
|
||||
Flags = FlagType(reader.getAttribute<unsigned long>("Flags", 0));
|
||||
}
|
||||
|
||||
void ExternalGeometryExtension::saveAttributes(Base::Writer& writer) const
|
||||
|
||||
@@ -341,7 +341,7 @@ void PropertyConstraintList::Restore(Base::XMLReader& reader)
|
||||
// read my element
|
||||
reader.readElement("ConstraintList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
|
||||
std::vector<Constraint*> values;
|
||||
values.reserve(count);
|
||||
|
||||
@@ -65,16 +65,15 @@ void SketchGeometryExtension::restoreAttributes(Base::XMLReader& reader)
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
if (reader.hasAttribute("id")) {
|
||||
Id = reader.getAttributeAsInteger("id");
|
||||
Id = reader.getAttribute<long>("id");
|
||||
}
|
||||
|
||||
InternalGeometryType = static_cast<InternalType::InternalType>(
|
||||
reader.getAttributeAsInteger("internalGeometryType"));
|
||||
InternalGeometryType = reader.getAttribute<InternalType::InternalType>("internalGeometryType");
|
||||
|
||||
GeometryModeFlags = GeometryModeFlagType(reader.getAttribute("geometryModeFlags"));
|
||||
GeometryModeFlags = GeometryModeFlagType(reader.getAttribute<const char*>("geometryModeFlags"));
|
||||
|
||||
if (reader.hasAttribute("geometryLayer")) {
|
||||
GeometryLayer = reader.getAttributeAsInteger("geometryLayer");
|
||||
GeometryLayer = reader.getAttribute<long>("geometryLayer");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ void PropertyVisualLayerList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VisualLayerList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
|
||||
std::vector<VisualLayer> layers;
|
||||
layers.reserve(count);
|
||||
|
||||
@@ -65,7 +65,7 @@ void ViewProviderSketchGeometryExtension::restoreAttributes(Base::XMLReader& rea
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
if (reader.hasAttribute("visualLayerId")) {
|
||||
VisualLayerId = reader.getAttributeAsInteger("visualLayerId");
|
||||
VisualLayerId = reader.getAttribute<long>("visualLayerId");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,9 +80,9 @@ void VisualLayer::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VisualLayer");
|
||||
|
||||
std::string str = reader.getAttribute("visible");
|
||||
std::string str = reader.getAttribute<const char*>("visible");
|
||||
visible = (str == "true");
|
||||
|
||||
linePattern = reader.getAttributeAsUnsigned("linePattern");
|
||||
lineWidth = reader.getAttributeAsFloat("lineWidth");
|
||||
linePattern = reader.getAttribute<unsigned long>("linePattern");
|
||||
lineWidth = reader.getAttribute<double>("lineWidth");
|
||||
}
|
||||
|
||||
@@ -728,19 +728,27 @@ void Cell::moveAbsolute(CellAddress newAddress)
|
||||
|
||||
void Cell::restore(Base::XMLReader& reader, bool checkAlias)
|
||||
{
|
||||
const char* style = reader.hasAttribute("style") ? reader.getAttribute("style") : nullptr;
|
||||
const char* style =
|
||||
reader.hasAttribute("style") ? reader.getAttribute<const char*>("style") : nullptr;
|
||||
const char* alignment =
|
||||
reader.hasAttribute("alignment") ? reader.getAttribute("alignment") : nullptr;
|
||||
const char* content = reader.hasAttribute("content") ? reader.getAttribute("content") : "";
|
||||
const char* foregroundColor =
|
||||
reader.hasAttribute("foregroundColor") ? reader.getAttribute("foregroundColor") : nullptr;
|
||||
const char* backgroundColor =
|
||||
reader.hasAttribute("backgroundColor") ? reader.getAttribute("backgroundColor") : nullptr;
|
||||
const char* displayUnit =
|
||||
reader.hasAttribute("displayUnit") ? reader.getAttribute("displayUnit") : nullptr;
|
||||
const char* alias = reader.hasAttribute("alias") ? reader.getAttribute("alias") : nullptr;
|
||||
const char* rowSpan = reader.hasAttribute("rowSpan") ? reader.getAttribute("rowSpan") : nullptr;
|
||||
const char* colSpan = reader.hasAttribute("colSpan") ? reader.getAttribute("colSpan") : nullptr;
|
||||
reader.hasAttribute("alignment") ? reader.getAttribute<const char*>("alignment") : nullptr;
|
||||
const char* content =
|
||||
reader.hasAttribute("content") ? reader.getAttribute<const char*>("content") : "";
|
||||
const char* foregroundColor = reader.hasAttribute("foregroundColor")
|
||||
? reader.getAttribute<const char*>("foregroundColor")
|
||||
: nullptr;
|
||||
const char* backgroundColor = reader.hasAttribute("backgroundColor")
|
||||
? reader.getAttribute<const char*>("backgroundColor")
|
||||
: nullptr;
|
||||
const char* displayUnit = reader.hasAttribute("displayUnit")
|
||||
? reader.getAttribute<const char*>("displayUnit")
|
||||
: nullptr;
|
||||
const char* alias =
|
||||
reader.hasAttribute("alias") ? reader.getAttribute<const char*>("alias") : nullptr;
|
||||
const char* rowSpan =
|
||||
reader.hasAttribute("rowSpan") ? reader.getAttribute<const char*>("rowSpan") : nullptr;
|
||||
const char* colSpan =
|
||||
reader.hasAttribute("colSpan") ? reader.getAttribute<const char*>("colSpan") : nullptr;
|
||||
|
||||
// Don't trigger multiple updates below; wait until everything is loaded by calling unfreeze()
|
||||
// below.
|
||||
|
||||
@@ -129,11 +129,13 @@ void PropertyColumnWidths::Restore(Base::XMLReader& reader)
|
||||
|
||||
// Column info
|
||||
reader.readElement("ColumnInfo");
|
||||
Cnt = reader.hasAttribute("Count") ? reader.getAttributeAsInteger("Count") : 0;
|
||||
Cnt = reader.hasAttribute("Count") ? reader.getAttribute<long>("Count") : 0;
|
||||
for (int i = 0; i < Cnt; i++) {
|
||||
reader.readElement("Column");
|
||||
const char* name = reader.hasAttribute("name") ? reader.getAttribute("name") : nullptr;
|
||||
const char* width = reader.hasAttribute("width") ? reader.getAttribute("width") : nullptr;
|
||||
const char* name =
|
||||
reader.hasAttribute("name") ? reader.getAttribute<const char*>("name") : nullptr;
|
||||
const char* width =
|
||||
reader.hasAttribute("width") ? reader.getAttribute<const char*>("width") : nullptr;
|
||||
|
||||
try {
|
||||
if (name && width) {
|
||||
|
||||
@@ -122,12 +122,13 @@ void PropertyRowHeights::Restore(Base::XMLReader& reader)
|
||||
|
||||
// Row info
|
||||
reader.readElement("RowInfo");
|
||||
Cnt = reader.hasAttribute("Count") ? reader.getAttributeAsInteger("Count") : 0;
|
||||
Cnt = reader.hasAttribute("Count") ? reader.getAttribute<long>("Count") : 0;
|
||||
for (int i = 0; i < Cnt; i++) {
|
||||
reader.readElement("Row");
|
||||
const char* name = reader.hasAttribute("name") ? reader.getAttribute("name") : nullptr;
|
||||
const char* name =
|
||||
reader.hasAttribute("name") ? reader.getAttribute<const char*>("name") : nullptr;
|
||||
const char* height =
|
||||
reader.hasAttribute("height") ? reader.getAttribute("height") : nullptr;
|
||||
reader.hasAttribute("height") ? reader.getAttribute<const char*>("height") : nullptr;
|
||||
|
||||
try {
|
||||
if (name && height) {
|
||||
|
||||
@@ -423,9 +423,9 @@ void PropertySheet::Restore(Base::XMLReader& reader)
|
||||
AtomicPropertyChange signaller(*this);
|
||||
|
||||
reader.readElement("Cells");
|
||||
Cnt = reader.getAttributeAsInteger("Count");
|
||||
Cnt = reader.getAttribute<long>("Count");
|
||||
|
||||
if (reader.hasAttribute("xlink") && reader.getAttributeAsInteger("xlink")) {
|
||||
if (reader.hasAttribute("xlink") && reader.getAttribute<bool>("xlink")) {
|
||||
PropertyExpressionContainer::Restore(reader);
|
||||
}
|
||||
|
||||
@@ -433,7 +433,7 @@ void PropertySheet::Restore(Base::XMLReader& reader)
|
||||
reader.readElement("Cell");
|
||||
|
||||
const char* strAddress =
|
||||
reader.hasAttribute("address") ? reader.getAttribute("address") : "";
|
||||
reader.hasAttribute("address") ? reader.getAttribute<const char*>("address") : "";
|
||||
|
||||
try {
|
||||
CellAddress address(strAddress);
|
||||
@@ -490,7 +490,7 @@ void PropertySheet::copyCells(Base::Writer& writer, const std::vector<Range>& ra
|
||||
void PropertySheet::pasteCells(XMLReader& reader, Range dstRange)
|
||||
{
|
||||
reader.readElement("Cells");
|
||||
int rangeCount = reader.getAttributeAsInteger("count");
|
||||
int rangeCount = reader.getAttribute<long>("count");
|
||||
if (rangeCount <= 0) {
|
||||
return;
|
||||
}
|
||||
@@ -504,9 +504,9 @@ void PropertySheet::pasteCells(XMLReader& reader, Range dstRange)
|
||||
AtomicPropertyChange signaller(*this);
|
||||
for (int ri = 0; ri < rangeCount; ++ri) {
|
||||
reader.readElement("Range");
|
||||
CellAddress from(reader.getAttribute("from"));
|
||||
CellAddress to(reader.getAttribute("to"));
|
||||
int cellCount = reader.getAttributeAsInteger("count");
|
||||
CellAddress from(reader.getAttribute<const char*>("from"));
|
||||
CellAddress to(reader.getAttribute<const char*>("to"));
|
||||
int cellCount = reader.getAttribute<long>("count");
|
||||
|
||||
Range range(from, to);
|
||||
|
||||
@@ -533,7 +533,7 @@ void PropertySheet::pasteCells(XMLReader& reader, Range dstRange)
|
||||
}
|
||||
for (int ci = 0; ci < cellCount; ++ci) {
|
||||
reader.readElement("Cell");
|
||||
CellAddress src(reader.getAttribute("address"));
|
||||
CellAddress src(reader.getAttribute<const char*>("address"));
|
||||
|
||||
if (ci) {
|
||||
range.next();
|
||||
|
||||
@@ -921,60 +921,60 @@ void CenterLine::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("Start");
|
||||
// get the value of my Attribute
|
||||
m_start.x = reader.getAttributeAsFloat("X");
|
||||
m_start.y = reader.getAttributeAsFloat("Y");
|
||||
m_start.z = reader.getAttributeAsFloat("Z");
|
||||
m_start.x = reader.getAttribute<double>("X");
|
||||
m_start.y = reader.getAttribute<double>("Y");
|
||||
m_start.z = reader.getAttribute<double>("Z");
|
||||
|
||||
reader.readElement("End");
|
||||
m_end.x = reader.getAttributeAsFloat("X");
|
||||
m_end.y = reader.getAttributeAsFloat("Y");
|
||||
m_end.z = reader.getAttributeAsFloat("Z");
|
||||
m_end.x = reader.getAttribute<double>("X");
|
||||
m_end.y = reader.getAttribute<double>("Y");
|
||||
m_end.z = reader.getAttribute<double>("Z");
|
||||
|
||||
reader.readElement("Mode");
|
||||
m_mode = static_cast<Mode>(reader.getAttributeAsInteger("value"));
|
||||
m_mode = reader.getAttribute<Mode>("value");
|
||||
|
||||
reader.readElement("HShift");
|
||||
m_hShift = reader.getAttributeAsFloat("value");
|
||||
m_hShift = reader.getAttribute<double>("value");
|
||||
reader.readElement("VShift");
|
||||
m_vShift = reader.getAttributeAsFloat("value");
|
||||
m_vShift = reader.getAttribute<double>("value");
|
||||
reader.readElement("Rotate");
|
||||
m_rotate = reader.getAttributeAsFloat("value");
|
||||
m_rotate = reader.getAttribute<double>("value");
|
||||
reader.readElement("Extend");
|
||||
m_extendBy = reader.getAttributeAsFloat("value");
|
||||
m_extendBy = reader.getAttribute<double>("value");
|
||||
reader.readElement("Type");
|
||||
m_type = static_cast<Type>(reader.getAttributeAsInteger("value"));
|
||||
m_type = reader.getAttribute<Type>("value");
|
||||
reader.readElement("Flip");
|
||||
m_flip2Line = (bool)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
m_flip2Line = reader.getAttribute<bool>("value") == 0;
|
||||
|
||||
reader.readElement("Faces");
|
||||
int count = reader.getAttributeAsInteger("FaceCount");
|
||||
int count = reader.getAttribute<long>("FaceCount");
|
||||
|
||||
int i = 0;
|
||||
for ( ; i < count; i++) {
|
||||
reader.readElement("Face");
|
||||
std::string f = reader.getAttribute("value");
|
||||
std::string f = reader.getAttribute<const char*>("value");
|
||||
m_faces.push_back(f);
|
||||
}
|
||||
reader.readEndElement("Faces");
|
||||
|
||||
reader.readElement("Edges");
|
||||
count = reader.getAttributeAsInteger("EdgeCount");
|
||||
count = reader.getAttribute<long>("EdgeCount");
|
||||
|
||||
i = 0;
|
||||
for ( ; i < count; i++) {
|
||||
reader.readElement("Edge");
|
||||
std::string e = reader.getAttribute("value");
|
||||
std::string e = reader.getAttribute<const char*>("value");
|
||||
m_edges.push_back(e);
|
||||
}
|
||||
reader.readEndElement("Edges");
|
||||
|
||||
reader.readElement("CLPoints");
|
||||
count = reader.getAttributeAsInteger("CLPointCount");
|
||||
count = reader.getAttribute<long>("CLPointCount");
|
||||
|
||||
i = 0;
|
||||
for ( ; i < count; i++) {
|
||||
reader.readElement("CLPoint");
|
||||
std::string p = reader.getAttribute("value");
|
||||
std::string p = reader.getAttribute<const char*>("value");
|
||||
m_verts.push_back(p);
|
||||
}
|
||||
reader.readEndElement("CLPoints");
|
||||
@@ -982,20 +982,20 @@ void CenterLine::Restore(Base::XMLReader &reader)
|
||||
// style is deprecated in favour of line number, but we still save and restore it
|
||||
// to avoid problems with old documents.
|
||||
reader.readElement("Style");
|
||||
m_format.setStyle(reader.getAttributeAsInteger("value"));
|
||||
m_format.setStyle(reader.getAttribute<long>("value"));
|
||||
reader.readElement("Weight");
|
||||
m_format.setWidth(reader.getAttributeAsFloat("value"));
|
||||
m_format.setWidth(reader.getAttribute<double>("value"));
|
||||
reader.readElement("Color");
|
||||
std::string tempHex = reader.getAttribute("value");
|
||||
std::string tempHex = reader.getAttribute<const char*>("value");
|
||||
Base::Color tempColor;
|
||||
tempColor.fromHexString(tempHex);
|
||||
m_format.setColor(tempColor);
|
||||
reader.readElement("Visible");
|
||||
m_format.setVisible( (int)reader.getAttributeAsInteger("value")==0 ? false : true);
|
||||
m_format.setVisible(reader.getAttribute<bool>("value"));
|
||||
|
||||
//stored geometry
|
||||
reader.readElement("GeometryType");
|
||||
GeomType gType = static_cast<GeomType>(reader.getAttributeAsInteger("value"));
|
||||
GeomType gType = reader.getAttribute<GeomType>("value");
|
||||
if (gType == GeomType::GENERIC) {
|
||||
TechDraw::GenericPtr gen = std::make_shared<TechDraw::Generic> ();
|
||||
gen->Restore(reader);
|
||||
@@ -1024,7 +1024,7 @@ void CenterLine::Restore(Base::XMLReader &reader)
|
||||
if(strcmp(reader.localName(),"LineNumber") == 0 ||
|
||||
strcmp(reader.localName(),"ISOLineNumber") == 0 ) {
|
||||
// this centerline has an LineNumber attribute
|
||||
m_format.setLineNumber(reader.getAttributeAsInteger("value"));
|
||||
m_format.setLineNumber(reader.getAttribute<long>("value"));
|
||||
} else {
|
||||
// LineNumber not found.
|
||||
m_format.setLineNumber(LineFormat::InvalidLine);
|
||||
|
||||
@@ -237,19 +237,19 @@ void CosmeticEdge::Restore(Base::XMLReader &reader)
|
||||
}
|
||||
// Base::Console().message("CE::Restore - reading elements\n");
|
||||
reader.readElement("Style");
|
||||
m_format.setStyle(reader.getAttributeAsInteger("value"));
|
||||
m_format.setStyle(reader.getAttribute<long>("value"));
|
||||
reader.readElement("Weight");
|
||||
m_format.setWidth(reader.getAttributeAsFloat("value"));
|
||||
m_format.setWidth(reader.getAttribute<double>("value"));
|
||||
reader.readElement("Color");
|
||||
std::string tempHex = reader.getAttribute("value");
|
||||
std::string tempHex = reader.getAttribute<const char*>("value");
|
||||
Base::Color tempColor;
|
||||
tempColor.fromHexString(tempHex);
|
||||
m_format.setColor(tempColor);
|
||||
reader.readElement("Visible");
|
||||
m_format.setVisible(reader.getAttributeAsInteger("value") != 0);
|
||||
m_format.setVisible(reader.getAttribute<long>("value") != 0);
|
||||
|
||||
reader.readElement("GeometryType");
|
||||
GeomType gType = static_cast<GeomType>(reader.getAttributeAsInteger("value"));
|
||||
GeomType gType = reader.getAttribute<GeomType>("value");
|
||||
|
||||
if (gType == GeomType::GENERIC) {
|
||||
TechDraw::GenericPtr gen = std::make_shared<TechDraw::Generic> ();
|
||||
@@ -283,7 +283,7 @@ void CosmeticEdge::Restore(Base::XMLReader &reader)
|
||||
if (reader.readNextElement()) {
|
||||
if(strcmp(reader.localName(),"LineNumber") == 0 ) {
|
||||
// this CosmeticEdge has an LineNumber attribute
|
||||
m_format.setLineNumber(reader.getAttributeAsInteger("value"));
|
||||
m_format.setLineNumber(reader.getAttribute<long>("value"));
|
||||
} else {
|
||||
// LineNumber not found.
|
||||
// TODO: line number should be set to DashedLineGenerator.fromQtStyle(m_format.m_style)
|
||||
@@ -391,21 +391,21 @@ void GeomFormat::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("GeomIndex");
|
||||
// get the value of my Attribute
|
||||
m_geomIndex = reader.getAttributeAsInteger("value");
|
||||
m_geomIndex = reader.getAttribute<long>("value");
|
||||
|
||||
// style is deprecated in favour of line number, but we still save and restore it
|
||||
// to avoid problems with old documents.
|
||||
reader.readElement("Style");
|
||||
m_format.setStyle(reader.getAttributeAsInteger("value"));
|
||||
m_format.setStyle(reader.getAttribute<long>("value"));
|
||||
reader.readElement("Weight");
|
||||
m_format.setWidth(reader.getAttributeAsFloat("value"));
|
||||
m_format.setWidth(reader.getAttribute<double>("value"));
|
||||
reader.readElement("Color");
|
||||
std::string tempHex = reader.getAttribute("value");
|
||||
std::string tempHex = reader.getAttribute<const char*>("value");
|
||||
Base::Color tempColor;
|
||||
tempColor.fromHexString(tempHex);
|
||||
m_format.setColor(tempColor);
|
||||
reader.readElement("Visible");
|
||||
m_format.setVisible((int)reader.getAttributeAsInteger("value") == 0 ? false : true);
|
||||
m_format.setVisible(reader.getAttribute<bool>("value"));
|
||||
// older documents may not have the LineNumber element, so we need to check the
|
||||
// next entry. if it is a start element, then we check if it is a start element
|
||||
// for LineNumber.
|
||||
@@ -414,7 +414,7 @@ void GeomFormat::Restore(Base::XMLReader &reader)
|
||||
if (reader.readNextElement()) {
|
||||
if(strcmp(reader.localName(),"LineNumber") == 0 ||
|
||||
strcmp(reader.localName(),"ISOLineNumber") == 0 ) { // this GeomFormat has an LineNumber attribute
|
||||
m_format.setLineNumber(reader.getAttributeAsInteger("value"));
|
||||
m_format.setLineNumber(reader.getAttribute<long>("value"));
|
||||
} else {
|
||||
// LineNumber not found.
|
||||
// TODO: line number should be set to DashedLineGenerator.fromQtStyle(m_format.m_style),
|
||||
|
||||
@@ -136,20 +136,20 @@ void CosmeticVertex::Restore(Base::XMLReader &reader)
|
||||
}
|
||||
TechDraw::Vertex::Restore(reader);
|
||||
reader.readElement("PermaPoint");
|
||||
permaPoint.x = reader.getAttributeAsFloat("X");
|
||||
permaPoint.y = reader.getAttributeAsFloat("Y");
|
||||
permaPoint.z = reader.getAttributeAsFloat("Z");
|
||||
permaPoint.x = reader.getAttribute<double>("X");
|
||||
permaPoint.y = reader.getAttribute<double>("Y");
|
||||
permaPoint.z = reader.getAttribute<double>("Z");
|
||||
reader.readElement("LinkGeom");
|
||||
linkGeom = reader.getAttributeAsInteger("value");
|
||||
linkGeom = reader.getAttribute<long>("value");
|
||||
reader.readElement("Color");
|
||||
std::string temp = reader.getAttribute("value");
|
||||
std::string temp = reader.getAttribute<const char*>("value");
|
||||
color.fromHexString(temp);
|
||||
reader.readElement("Size");
|
||||
size = reader.getAttributeAsFloat("value");
|
||||
size = reader.getAttribute<double>("value");
|
||||
reader.readElement("Style");
|
||||
style = reader.getAttributeAsInteger("value");
|
||||
style = reader.getAttribute<long>("value");
|
||||
reader.readElement("Visible");
|
||||
visible = (int)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
visible = reader.getAttribute<bool>("value");
|
||||
Tag::Restore(reader);
|
||||
}
|
||||
|
||||
|
||||
@@ -260,25 +260,25 @@ void BaseGeom::Save(Base::Writer &writer) const
|
||||
void BaseGeom::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
reader.readElement("GeomType");
|
||||
geomType = static_cast<GeomType>(reader.getAttributeAsInteger("value"));
|
||||
geomType = reader.getAttribute<GeomType>("value");
|
||||
reader.readElement("ExtractType");
|
||||
extractType = static_cast<ExtractionType>(reader.getAttributeAsInteger("value"));
|
||||
extractType = reader.getAttribute<ExtractionType>("value");
|
||||
reader.readElement("EdgeClass");
|
||||
classOfEdge = static_cast<EdgeClass>(reader.getAttributeAsInteger("value"));
|
||||
classOfEdge = reader.getAttribute<EdgeClass>("value");
|
||||
reader.readElement("HLRVisible");
|
||||
hlrVisible = reader.getAttributeAsInteger("value") != 0;
|
||||
hlrVisible = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Reversed");
|
||||
reversed = reader.getAttributeAsInteger("value") != 0;
|
||||
reversed = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Ref3D");
|
||||
ref3D = reader.getAttributeAsInteger("value");
|
||||
ref3D = reader.getAttribute<long>("value");
|
||||
reader.readElement("Cosmetic");
|
||||
cosmetic = reader.getAttributeAsInteger("value") != 0;
|
||||
cosmetic = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Source");
|
||||
m_source = static_cast<SourceType>(reader.getAttributeAsInteger("value"));
|
||||
m_source = reader.getAttribute<SourceType>("value");
|
||||
reader.readElement("SourceIndex");
|
||||
m_sourceIndex = reader.getAttributeAsInteger("value");
|
||||
m_sourceIndex = reader.getAttribute<long>("value");
|
||||
reader.readElement("CosmeticTag");
|
||||
cosmeticTag = reader.getAttribute("value");
|
||||
cosmeticTag = reader.getAttribute<const char*>("value");
|
||||
}
|
||||
|
||||
std::vector<Base::Vector3d> BaseGeom::findEndPoints()
|
||||
@@ -768,12 +768,12 @@ void Circle::Restore(Base::XMLReader &reader)
|
||||
// read my Element
|
||||
reader.readElement("Center");
|
||||
// get the value of my Attribute
|
||||
center.x = reader.getAttributeAsFloat("X");
|
||||
center.y = reader.getAttributeAsFloat("Y");
|
||||
center.z = reader.getAttributeAsFloat("Z");
|
||||
center.x = reader.getAttribute<double>("X");
|
||||
center.y = reader.getAttribute<double>("Y");
|
||||
center.z = reader.getAttribute<double>("Z");
|
||||
|
||||
reader.readElement("Radius");
|
||||
radius = reader.getAttributeAsFloat("value");
|
||||
radius = reader.getAttribute<double>("value");
|
||||
}
|
||||
|
||||
AOC::AOC(const TopoDS_Edge &e) : Circle(e)
|
||||
@@ -979,26 +979,26 @@ void AOC::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
Circle::Restore(reader);
|
||||
reader.readElement("Start");
|
||||
startPnt.x = reader.getAttributeAsFloat("X");
|
||||
startPnt.y = reader.getAttributeAsFloat("Y");
|
||||
startPnt.z = reader.getAttributeAsFloat("Z");
|
||||
startPnt.x = reader.getAttribute<double>("X");
|
||||
startPnt.y = reader.getAttribute<double>("Y");
|
||||
startPnt.z = reader.getAttribute<double>("Z");
|
||||
reader.readElement("End");
|
||||
endPnt.x = reader.getAttributeAsFloat("X");
|
||||
endPnt.y = reader.getAttributeAsFloat("Y");
|
||||
endPnt.z = reader.getAttributeAsFloat("Z");
|
||||
endPnt.x = reader.getAttribute<double>("X");
|
||||
endPnt.y = reader.getAttribute<double>("Y");
|
||||
endPnt.z = reader.getAttribute<double>("Z");
|
||||
reader.readElement("Middle");
|
||||
midPnt.x = reader.getAttributeAsFloat("X");
|
||||
midPnt.y = reader.getAttributeAsFloat("Y");
|
||||
midPnt.z = reader.getAttributeAsFloat("Z");
|
||||
midPnt.x = reader.getAttribute<double>("X");
|
||||
midPnt.y = reader.getAttribute<double>("Y");
|
||||
midPnt.z = reader.getAttribute<double>("Z");
|
||||
|
||||
reader.readElement("StartAngle");
|
||||
startAngle = reader.getAttributeAsFloat("value");
|
||||
startAngle = reader.getAttribute<double>("value");
|
||||
reader.readElement("EndAngle");
|
||||
endAngle = reader.getAttributeAsFloat("value");
|
||||
endAngle = reader.getAttribute<double>("value");
|
||||
reader.readElement("Clockwise");
|
||||
cw = (int)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
cw = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Large");
|
||||
largeArc = (int)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
largeArc = reader.getAttribute<bool>("value");
|
||||
}
|
||||
|
||||
//! Generic is a multiline
|
||||
@@ -1072,14 +1072,14 @@ void Generic::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
BaseGeom::Restore(reader);
|
||||
reader.readElement("Points");
|
||||
int stop = reader.getAttributeAsInteger("PointsCount");
|
||||
int stop = reader.getAttribute<long>("PointsCount");
|
||||
int i = 0;
|
||||
for ( ; i < stop; i++) {
|
||||
reader.readElement("Point");
|
||||
Base::Vector3d p;
|
||||
p.x = reader.getAttributeAsFloat("X");
|
||||
p.y = reader.getAttributeAsFloat("Y");
|
||||
p.z = reader.getAttributeAsFloat("Z");
|
||||
p.x = reader.getAttribute<double>("X");
|
||||
p.y = reader.getAttribute<double>("Y");
|
||||
p.z = reader.getAttribute<double>("Z");
|
||||
points.push_back(p);
|
||||
}
|
||||
reader.readEndElement("Points");
|
||||
@@ -1341,28 +1341,28 @@ void Vertex::Save(Base::Writer &writer) const
|
||||
void Vertex::Restore(Base::XMLReader &reader)
|
||||
{
|
||||
reader.readElement("Point");
|
||||
pnt.x = reader.getAttributeAsFloat("X");
|
||||
pnt.y = reader.getAttributeAsFloat("Y");
|
||||
pnt.z = reader.getAttributeAsFloat("Z");
|
||||
pnt.x = reader.getAttribute<double>("X");
|
||||
pnt.y = reader.getAttribute<double>("Y");
|
||||
pnt.z = reader.getAttribute<double>("Z");
|
||||
|
||||
reader.readElement("Extract");
|
||||
extractType = static_cast<ExtractionType>(reader.getAttributeAsInteger("value"));
|
||||
extractType = reader.getAttribute<ExtractionType>("value");
|
||||
// reader.readElement("Visible");
|
||||
// hlrVisible = (bool)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
// hlrVisible = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Ref3D");
|
||||
ref3D = reader.getAttributeAsInteger("value");
|
||||
ref3D = reader.getAttribute<long>("value");
|
||||
reader.readElement("IsCenter");
|
||||
hlrVisible = reader.getAttributeAsInteger("value") != 0;
|
||||
hlrVisible = reader.getAttribute<bool>("value");
|
||||
reader.readElement("Cosmetic");
|
||||
cosmetic = reader.getAttributeAsInteger("value") != 0;
|
||||
cosmetic = reader.getAttribute<bool>("value");
|
||||
reader.readElement("CosmeticLink");
|
||||
cosmeticLink = reader.getAttributeAsInteger("value");
|
||||
cosmeticLink = reader.getAttribute<long>("value");
|
||||
reader.readElement("CosmeticTag");
|
||||
cosmeticTag = reader.getAttribute("value");
|
||||
cosmeticTag = reader.getAttribute<const char*>("value");
|
||||
|
||||
//will restore read to eof looking for "Reference" in old docs?? YES!!
|
||||
// reader.readElement("Reference");
|
||||
// m_reference = (bool)reader.getAttributeAsInteger("value")==0?false:true;
|
||||
// m_reference = reader.getAttribute<bool>("value");
|
||||
|
||||
Tag::Restore(reader, "VertexTag");
|
||||
|
||||
|
||||
@@ -147,12 +147,12 @@ void PropertyCenterLineList::Restore(Base::XMLReader &reader)
|
||||
reader.clearPartialRestoreObject();
|
||||
reader.readElement("CenterLineList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
std::vector<CenterLine*> values;
|
||||
values.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
reader.readElement("CenterLine");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
CenterLine *newG = static_cast<CenterLine *>(Base::Type::fromName(TypeName).createInstance());
|
||||
newG->Restore(reader);
|
||||
|
||||
|
||||
@@ -151,12 +151,12 @@ void PropertyCosmeticEdgeList::Restore(Base::XMLReader &reader)
|
||||
reader.clearPartialRestoreObject();
|
||||
reader.readElement("CosmeticEdgeList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
std::vector<CosmeticEdge*> values;
|
||||
values.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
reader.readElement("CosmeticEdge");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
CosmeticEdge *newG = static_cast<CosmeticEdge *>(Base::Type::fromName(TypeName).createInstance());
|
||||
newG->Restore(reader);
|
||||
|
||||
|
||||
@@ -149,12 +149,12 @@ void PropertyCosmeticVertexList::Restore(Base::XMLReader &reader)
|
||||
reader.clearPartialRestoreObject();
|
||||
reader.readElement("CosmeticVertexList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
std::vector<CosmeticVertex*> values;
|
||||
values.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
reader.readElement("CosmeticVertex");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
CosmeticVertex *newG = static_cast<CosmeticVertex *>(Base::Type::fromName(TypeName).createInstance());
|
||||
newG->Restore(reader);
|
||||
|
||||
|
||||
@@ -161,12 +161,12 @@ void PropertyGeomFormatList::Restore(Base::XMLReader &reader)
|
||||
reader.clearPartialRestoreObject();
|
||||
reader.readElement("GeomFormatList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
std::vector<GeomFormat*> values;
|
||||
values.reserve(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
reader.readElement("GeomFormat");
|
||||
const char* TypeName = reader.getAttribute("type");
|
||||
const char* TypeName = reader.getAttribute<const char*>("type");
|
||||
GeomFormat *newG = static_cast<GeomFormat *>(Base::Type::fromName(TypeName).createInstance());
|
||||
newG->Restore(reader);
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ void Tag::Restore(Base::XMLReader& reader, std::string_view elementName)
|
||||
{
|
||||
// Setting elementName is only for backwards compatibility!
|
||||
reader.readElement(elementName.data());
|
||||
std::string temp = reader.getAttribute("value");
|
||||
std::string temp = reader.getAttribute<const char*>("value");
|
||||
boost::uuids::string_generator gen;
|
||||
boost::uuids::uuid u1 = gen(temp);
|
||||
tag = u1;
|
||||
|
||||
Reference in New Issue
Block a user