int XMIResource::processText(xmlTextReaderPtr reader) { int ret; switch (parent) { case e_nzcross: // nzcross is a Block property ret = loadIntArray(reader, NZCROSS, processed.back()); break; case e_nmode: // nmode is a Block property ret = loadIntArray(reader, NMODE, processed.back()); break; case e_rpar: // rpar is a Block property ret = loadDoubleArray(reader, RPAR, processed.back()); break; case e_ipar: // ipar is a Block property ret = loadIntArray(reader, IPAR, processed.back()); break; case e_state: // state is a Block property ret = loadDoubleArray(reader, RPAR, processed.back()); break; case e_dstate: // dstate is a Block property ret = loadDoubleArray(reader, RPAR, processed.back()); break; case e_expression: // expression is a Block property ret = loadStringArray(reader, EXPRS, processed.back()); break; case e_context: // context is a Layer property ret = loadStringArray(reader, DIAGRAM_CONTEXT, processed.back()); break; case e_datatype: // datatype is a port property ret = loadIntArray(reader, DATATYPE, processed.back()); break; default: sciprint("Unable to decode text value at line %d\n", xmlTextReaderGetParserLineNumber(reader) - 1); ret = -1; break; } return ret; }
void GeometricRepresentation::loadVersion1(std::ifstream& fin) { int plane_num = (int)planes.size(); fin.read((char*)(&plane_num), sizeof(int)); // these numbers are for future use int place_holder = 0; for (int i = 0; i < 15; ++i) fin.read((char*)(&place_holder), sizeof(int)); planes.resize(plane_num); for (size_t i = 0, i_end = planes.size(); i < i_end; ++i) { Plane& plane = planes[i]; fin.read((char*)(&(plane.id)), sizeof(int)); loadVec3(fin, plane.normal); loadVec3(fin, plane.centroid); loadVec3(fin, plane.bbox_corner); loadVec3(fin, plane.bbox_width); loadVec3(fin, plane.bbox_height); loadVec3Array(fin, plane.concave_hull); loadVec3Array(fin, plane.convex_hull); loadIntArray(fin, plane.point_indices); for (int i = 0; i < 4; ++i) fin.read((char*)(&place_holder), sizeof(int)); } return; }