std::vector<std::string> ZFlyEmSupervisor::getUuidList() const { ZDvidBufferReader reader; reader.read(getUuidsUrl().c_str()); const QByteArray &buffer = reader.getBuffer(); std::vector<std::string> uuidList; if (!buffer.isEmpty()) { ZJsonArray obj; obj.decodeString(buffer.constData()); for (size_t i = 0; i < obj.size(); ++i) { uuidList.push_back(ZJsonParser::stringValue(obj.at(i))); } } return uuidList; // reader.read(ZDvidUrl) }
void ZMovieScene::loadJsonObject(const ZJsonObject &obj) { m_actionList.clear(); map<string, json_t*> entryMap = obj.toEntryMap(); for (map<string, json_t*>::const_iterator iter = entryMap.begin(); iter != entryMap.end(); ++iter) { #ifdef _DEBUG_2 cout << "Scene key: " << iter->first << endl; #endif if (isDurationTag(iter->first.c_str())) { setDuration(ZJsonParser::numberValue(iter->second)); } else if (isBackgroundTag(iter->first.c_str())) { setBackground(ZJsonParser::booleanValue(iter->second)); } else if (isActionListTag(iter->first.c_str())) { ZJsonArray actionList; TZ_ASSERT(ZJsonParser::isArray(iter->second), "array"); actionList.set(iter->second, false); for (size_t index = 0; index < actionList.size(); ++index) { ZJsonObject actionObject(actionList.at(index), false); map<string, json_t*> actionEntry = actionObject.toEntryMap(); MovieAction action; for (std::map<string, json_t*>::const_iterator actionIter = actionEntry.begin(); actionIter != actionEntry.end(); ++actionIter) { if (isIdTag(actionIter->first.c_str())) { action.actorId = ZJsonParser::stringValue(actionIter->second); } else if (isVisibleTag(actionIter->first.c_str())) { action.isVisible = ZJsonParser::booleanValue(actionIter->second); } else if (isMovingTag(actionIter->first.c_str())) { action.movingOffset.setX( ZJsonParser::numberValue(actionIter->second, 0)); action.movingOffset.setY( ZJsonParser::numberValue(actionIter->second, 1)); action.movingOffset.setZ( ZJsonParser::numberValue(actionIter->second, 2)); } else if (isColorTag(actionIter->first.c_str())) { action.settingColor = true; action.red = ZJsonParser::numberValue(actionIter->second, 0); action.green = ZJsonParser::numberValue(actionIter->second, 1); action.blue = ZJsonParser::numberValue(actionIter->second, 2); } else if (isAlphaTag(actionIter->first.c_str())) { action.settingAlpha = true; action.alpha = ZJsonParser::numberValue(actionIter->second); } else if (isFadingTag(actionIter->first.c_str())) { action.fadingFactor = ZJsonParser::numberValue(actionIter->second); } else if (isTransitTag(actionIter->first.c_str())) { if (ZJsonParser::isNumber(actionIter->second)) { action.transitFactor[0] = ZJsonParser::numberValue(actionIter->second); action.transitFactor[1] = action.transitFactor[0]; action.transitFactor[2] = action.transitFactor[1]; } else if (ZJsonParser::isArray(actionIter->second)){ action.transitFactor[0] = ZJsonParser::numberValue(actionIter->second, 0); action.transitFactor[1] = ZJsonParser::numberValue(actionIter->second, 1); action.transitFactor[2] = ZJsonParser::numberValue(actionIter->second, 2); } } } addAction(action); } } else if (isCameraTag(iter->first.c_str())) { ZJsonObject cameraObject(iter->second, false); m_camera.loadJsonObject(cameraObject); /* json_t *rotationObj = cameraObject["rotate"]; if (rotationObj != NULL) { m_cameraRotation.loadJsonObject(ZJsonObject(rotationObj, false)); } */ } else if (isClipperTag(iter->first.c_str())) { for (size_t i = 0; i < ZJsonParser::arraySize(iter->second); ++i) { ZJsonObject clipperObject(ZJsonParser::arrayValue(iter->second, i), false); ZMovieSceneClipper clipper; clipper.loadJsonObject(clipperObject); m_clipperArray.push_back(clipper); } } } }