本文整理汇总了C++中Database::GetDirPath方法的典型用法代码示例。如果您正苦于以下问题:C++ Database::GetDirPath方法的具体用法?C++ Database::GetDirPath怎么用?C++ Database::GetDirPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Database
的用法示例。
在下文中一共展示了Database::GetDirPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Parser
void LeafNode::Parser(const Database& db)
{
std::string filepath = db.GetDirPath() + "\\" + GetPath();
// export name and out nodes
JsonResParserOP parser(filepath, db, m_export_name, m_out_nodes);
parser.Do();
// in nodes
std::set<int>::iterator itr = m_out_nodes.begin();
for ( ; itr != m_out_nodes.end(); ++itr)
{
if (*itr == -1) {
continue;
}
const Node* to = db.Fetch(*itr);
assert(to && to->Type() == NODE_LEAF);
const_cast<LeafNode*>(static_cast<const LeafNode*>(to))->AddInput(GetID());
}
// timestamp
struct stat st;
stat(filepath.c_str(), &st);
m_timestamp = st.st_mtime;
// md5
m_md5.resize(32);
MD5Helper::File(filepath, m_md5);
}
示例2: Build
void Snapshoot::Build(const Database& db, const std::string& dir)
{
const std::vector<Node*>& nodes = db.GetNodes();
for (int i = 0, n = nodes.size(); i < n; ++i)
{
Node* node = nodes[i];
if (node->Type() != NODE_LEAF) {
continue;
}
LeafNode* leaf = static_cast<LeafNode*>(node);
const std::string& path = leaf->GetPath();
std::string out_path = dir + "\\" + path;
out_path = out_path.substr(0, out_path.find_last_of("."));
out_path += "_ss.png";
std::string dir = gum::FilepathHelper::Dir(out_path);
if (!wxDir::Exists(dir)) {
wxFileName::Mkdir(dir, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
}
s2::DrawRT rt;
std::string ori_path = db.GetDirPath() + "\\" + path;
auto sym = ee::SymbolMgr::Instance()->FetchSymbol(ori_path);
rt.Draw(*sym);
sm::vec2 sz = sym->GetBounding().Size();
rt.StoreToFile(out_path, sz.x, sz.y);
}
}