本文整理汇总了C++中XmlDeserializer::removeLastError方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDeserializer::removeLastError方法的具体用法?C++ XmlDeserializer::removeLastError怎么用?C++ XmlDeserializer::removeLastError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDeserializer
的用法示例。
在下文中一共展示了XmlDeserializer::removeLastError方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deserialize
void Processor::deserialize(XmlDeserializer& s) {
// meta data
metaDataContainer_.deserialize(s);
// misc settings
s.deserialize("name", id_);
guiName_ = id_;
// deserialize properties
PropertyOwner::deserialize(s);
// ---
// the following entities are static resources that should not be dynamically created by the serializer
//
const bool usePointerContentSerialization = s.getUsePointerContentSerialization();
s.setUsePointerContentSerialization(true);
// deserialize inports using a temporary map
map<string, Port*> inportMap;
for (vector<Port*>::const_iterator it = inports_.begin(); it != inports_.end(); ++it)
inportMap[(*it)->getID()] = *it;
try {
s.deserialize("Inports", inportMap, "Port", "name");
}
catch (XmlSerializationNoSuchDataException& /*e*/){
// port key missing => just ignore
s.removeLastError();
}
// deserialize outports using a temporary map
map<string, Port*> outportMap;
for (vector<Port*>::const_iterator it = outports_.begin(); it != outports_.end(); ++it)
outportMap[(*it)->getID()] = *it;
try {
s.deserialize("Outports", outportMap, "Port", "name");
}
catch (XmlSerializationNoSuchDataException& /*e*/){
// port key missing => just ignore
s.removeLastError();
}
// deserialize interaction handlers using a temporary map
map<string, InteractionHandler*> handlerMap;
const std::vector<InteractionHandler*>& handlers = getInteractionHandlers();
for (vector<InteractionHandler*>::const_iterator it = handlers.begin(); it != handlers.end(); ++it)
handlerMap[(*it)->getID()] = *it;
try {
s.deserialize("InteractionHandlers", handlerMap, "Handler", "name");
}
catch (XmlSerializationNoSuchDataException& /*e*/){
// interaction handler key missing => just ignore
s.removeLastError();
}
s.setUsePointerContentSerialization(usePointerContentSerialization);
// --- static resources end ---
firstProcessAfterDeserialization_ = true;
}
示例2: deserialize
void Property::deserialize(XmlDeserializer& s) {
if (serializeValue_)
return;
// deserialize level-of-detail, if available
try {
int lod;
s.deserialize("lod", lod);
lod_ = static_cast<LODSetting>(lod);
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
lod_ = USER;
}
// deserialize gui name, if available
try {
std::string temp;
s.deserialize("guiName", temp);
guiName_ = temp;
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
}
metaDataContainer_.deserialize(s);
}
示例3: deserialize
void CameraProperty::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
try {
float left, right, bottom, top, nearP, farP;
s.deserialize("frustLeft", left);
s.deserialize("frustRight", right);
s.deserialize("frustBottom", bottom);
s.deserialize("frustTop", top);
s.deserialize("frustNear", nearP);
s.deserialize("frustFar", farP);
value_.setFrustum(tgt::Frustum(left, right, bottom, top, nearP, farP));
} catch(SerializationException&) {
s.removeLastError();
}
int projMode;
try {
s.deserialize("projectionMode", projMode);
} catch(SerializationException&) {
s.removeLastError();
projMode = tgt::Camera::PERSPECTIVE;
}
value_.setProjectionMode((tgt::Camera::ProjectionMode)projMode);
tgt::vec3 vector;
s.deserialize("position", vector);
value_.setPosition(vector);
s.deserialize("focus", vector);
value_.setFocus(vector);
s.deserialize("upVector", vector);
value_.setUpVector(vector);
try {
float fovy;
s.deserialize("fovy", fovy);
value_.setFovy(fovy);
}
catch(SerializationException&) {
s.removeLastError();
}
try {
int eyeMode, axisMode;
float eyeSep;
s.deserialize("eyeMode", eyeMode);
s.deserialize("eyeSeparation", eyeSep);
s.deserialize("axisMode", axisMode);
value_.setStereoEyeMode((tgt::Camera::StereoEyeMode)eyeMode, false);
value_.setStereoEyeSeparation(eyeSep, false);
value_.setStereoAxisMode((tgt::Camera::StereoAxisMode)axisMode);
}
catch(SerializationException&) {
s.removeLastError();
}
}
示例4: deserialize
void Workspace::deserialize(XmlDeserializer& s) {
// clear existing network and containers
clear();
try {
s.deserialize("readonly", readOnly_);
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
readOnly_ = false;
}
// Deserialize network...
s.deserialize("ProcessorNetwork", network_);
// Deserialize animation if present...
try {
s.deserialize("Animation", animation_);
} catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
}
if (animation_) {
animation_->setNetwork(network_);
// register this as observer on all propertytimelines for undo/redo
const std::vector<AnimatedProcessor*> animproc = this->animation_->getAnimatedProcessors();
std::vector<AnimatedProcessor*>::const_iterator it;
for (it = animproc.begin();it != animproc.end();it++)
{
const std::vector<PropertyTimeline*> timelines = (*it)->getPropertyTimelines();
std::vector<PropertyTimeline*>::const_iterator it2;
for (it2 = timelines.begin();it2 != timelines.end(); ++it2) {
(*it2)->registerUndoObserver(this->animation_);
}
}
// register this as observer in the processornetwork to register added and removed processors
ProcessorNetwork* net = const_cast<ProcessorNetwork*>(network_);
net->addObserver(this->animation_);
}
try {
s.deserialize("GlobalDescription", description_);
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
description_ = "";
}
}
示例5: deserialize
void VolumeURLListProperty::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
std::vector<std::string> urlList = value_;
std::map<std::string, bool> selectMap = selectionMap_;
s.deserialize("VolumeURLs", urlList, "url");
try {
s.deserialize("Selection", selectMap, "entry", "url");
}
catch (SerializationException& e) {
s.removeLastError();
LWARNING("Failed to deserialize selection map: " << e.what());
}
// convert URLs to absolute path
std::string basePath = tgt::FileSystem::dirName(s.getDocumentPath());
for (size_t i=0; i<urlList.size(); i++) {
std::string url = urlList[i];
std::string urlConv = VolumeURL::convertURLToAbsolutePath(url, basePath);
urlList[i] = urlConv;
if (selectMap.find(url) != selectMap.end()) {
bool selected = selectMap[url];
selectMap.erase(url);
selectMap.insert(std::pair<std::string, bool>(urlConv, selected));
}
}
value_ = urlList;
selectionMap_ = selectMap;
invalidate();
}
示例6: deserialize
void FileDialogProperty::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
// An empty serialized value does not necessarily mean that it wasn't set, but could also mean that it was the
// same path as the document path passed during serialization, which makes the relative path empty. We need an
// extra bool to remember if this was the case.
try {
bool noPathSet;
s.deserialize("noPathSet", noPathSet);
if(noPathSet) {
set("");
return;
}
}
catch (XmlSerializationNoSuchDataException) {
s.removeLastError();
}
std::string value;
s.deserialize("value", value);
// convert path relative to the document's path to an absolute one
if (!s.getDocumentPath().empty())
value = tgt::FileSystem::absolutePath(tgt::FileSystem::dirName(s.getDocumentPath()) + "/" + value);
try {
set(value);
}
catch (Condition::ValidationFailed& e) {
s.addError(e);
}
}
示例7: deserializeSettings
bool deserializeSettings(PropertyOwner* po, const std::string& filename) {
std::ifstream stream;
stream.open(filename.c_str(), std::ios_base::in);
if(stream.fail()) {
stream.close();
return false;
}
else {
XmlDeserializer xmlDeserializer;
try {
xmlDeserializer.read(stream);
po->deserialize(xmlDeserializer);
stream.close();
}
catch (XmlSerializationNoSuchDataException) {
// no data present => ignore
xmlDeserializer.removeLastError();
return false;
}
catch (SerializationException &e) {
LWARNINGC("VoreenSettingsDialog", std::string("Deserialization failed: ") + e.what());
return false;
}
}
return true;
}
示例8: deserialize
void EventPropertyBase::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
try {
bool enabled, shareEvents;
s.deserialize("enabled", enabled);
s.deserialize("shareEvents", shareEvents);
enabled_ = enabled;
shareEvents_ = shareEvents;
}
catch (XmlSerializationNoSuchDataException& /*e*/) {
s.removeLastError();
}
try {
int mouseAction = 0;
int mouseButtons = 0;
s.deserialize("mouseAction", mouseAction);
s.deserialize("mouseButtons", mouseButtons);
mouseAction_ = static_cast<tgt::MouseEvent::MouseAction>(mouseAction);
mouseButtons_ = static_cast<tgt::MouseEvent::MouseButtons>(mouseButtons);
}
catch (XmlSerializationNoSuchDataException& /*e*/) {
s.removeLastError();
}
try {
int keyCode = 0;
s.deserialize("keyCode", keyCode);
keyCode_ = static_cast<tgt::KeyEvent::KeyCode>(keyCode);
}
catch (XmlSerializationNoSuchDataException& /*e*/) {
s.removeLastError();
}
try {
int modifier = 0;
s.deserialize("modifier", modifier);
modifier_ = static_cast<tgt::Event::Modifier>(modifier);
}
catch (XmlSerializationNoSuchDataException& /*e*/) {
s.removeLastError();
}
notifyChangeListener();
}
示例9: deserialize
void FaceGeometry::deserialize(XmlDeserializer& s) {
s.deserialize("vertices", vertices_);
try {
s.deserialize("normal", normal_);
normalIsSet_ = true;
}
catch (...) {
s.removeLastError();
normalIsSet_ = false;
}
setHasChanged(true);
}
示例10: deserialize
void LightSourceProperty::deserialize(XmlDeserializer& s) {
FloatVec4Property::deserialize(s);
try {
s.deserialize("Center", curCenter_);
s.deserialize("LightPos", lightPos_);
s.deserialize("FollowCam", followCam_);
s.deserialize("MaxDist", maxDist_);
}
catch(SerializationException&) {
// TODO necessary?
lightPos_ = tgt::vec4(get().xyz(), 1.f);
s.removeLastError();
}
}
示例11: catch
void PropertyKeyValue<tgt::Camera>::deserialize(XmlDeserializer& s) {
// base class props
s.deserialize("time", time_);
s.deserialize("smooth", smooth_);
s.deserialize("before", before_);
s.deserialize("after", after_);
// camera
tgt::vec3 vector;
s.deserialize("position", vector);
value_.setPosition(vector);
s.deserialize("focus", vector);
value_.setFocus(vector);
s.deserialize("upVector", vector);
value_.setUpVector(vector);
float winRatio = 1.f;
try {
s.deserialize("winRatio", winRatio);
} catch(SerializationException&) {
s.removeLastError();
}
// camera frustum
try {
float left, right, bottom, top, nearP, farP;
s.deserialize("frustLeft", left);
s.deserialize("frustRight", right);
s.deserialize("frustBottom", bottom);
s.deserialize("frustTop", top);
s.deserialize("frustNear", nearP);
s.deserialize("frustFar", farP);
value_.setFrustum(tgt::Frustum(left, right, bottom, top, nearP, farP));
} catch(SerializationException&) {
s.removeLastError();
}
}
示例12: deserialize
void TransFuncProperty::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
TransFunc* tf = 0;
s.deserialize("TransferFunction", tf);
set(tf);
try {
int fittingStrategy = domainFittingStrategy_;
s.deserialize("domainFittingStrategy", fittingStrategy);
domainFittingStrategy_ = (DomainAutoFittingStrategy)fittingStrategy;
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
}
}
示例13: set
void NumericProperty<T>::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
// deserialize value
T value;
s.deserialize("value", value);
try {
set(value);
}
catch (Condition::ValidationFailed& e) {
s.addError(e);
}
// deserialize tracking mode, if available
try {
s.deserialize("tracking", tracking_);
}
catch (XmlSerializationNoSuchDataException&) {
s.removeLastError();
}
}
示例14: deserialize
void CameraProperty::deserialize(XmlDeserializer& s) {
Property::deserialize(s);
try {
float left, right, bottom, top, nearP, farP;
s.deserialize("frustLeft", left);
s.deserialize("frustRight", right);
s.deserialize("frustBottom", bottom);
s.deserialize("frustTop", top);
s.deserialize("frustNear", nearP);
s.deserialize("frustFar", farP);
value_.setFrustum(tgt::Frustum(left, right, bottom, top, nearP, farP));
} catch(SerializationException&) {
s.removeLastError();
}
int projMode;
try {
s.deserialize("projectionMode", projMode);
} catch(SerializationException&) {
s.removeLastError();
projMode = tgt::Camera::PERSPECTIVE;
}
value_.setProjectionMode((tgt::Camera::ProjectionMode)projMode);
tgt::vec3 vector;
s.deserialize("position", vector);
value_.setPosition(vector);
s.deserialize("focus", vector);
value_.setFocus(vector);
s.deserialize("upVector", vector);
value_.setUpVector(vector);
try {
float maxValue, minValue;
s.deserialize("maxValue", maxValue);
maxValue_ = maxValue;
s.deserialize("minValue", minValue);
minValue_ = minValue;
}
catch(SerializationException&) {
s.removeLastError();
}
try {
float fovy;
s.deserialize("fovy", fovy);
value_.setFovy(fovy);
}
catch(SerializationException&) {
s.removeLastError();
}
try {
int eyeMode, axisMode;
float eyeSep;
s.deserialize("eyeMode", eyeMode);
s.deserialize("eyeSeparation", eyeSep);
s.deserialize("axisMode", axisMode);
value_.setStereoEyeMode((tgt::Camera::StereoEyeMode)eyeMode, false);
value_.setStereoEyeSeparation(eyeSep, false);
value_.setStereoAxisMode((tgt::Camera::StereoAxisMode)axisMode, false);
}
catch(SerializationException&) {
s.removeLastError();
}
try {
s.deserialize("trackball", trackball_);
}
catch (SerializationException&) {
s.removeLastError();
}
try {
int centerOption;
s.deserialize("centerOption", centerOption);
s.deserialize("adaptOnChange", adaptOnChange_);
tgt::vec3 llf, urb;
s.deserialize("sceneLLF", llf);
s.deserialize("sceneURB", urb);
currentSceneBounds_ = tgt::Bounds(llf, urb);
setTrackballCenterBehaviour((TrackballCenter)centerOption);
}
catch(SerializationException&) {
s.removeLastError();
}
}