History quick by default.
This commit is contained in:
parent
eed1577b2e
commit
e9932cfb95
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.7 2005/02/19 16:22:45 ponchio
|
||||
Minor changes (visited and Cell)
|
||||
|
||||
Revision 1.6 2005/02/17 16:40:35 ponchio
|
||||
Optimized BuildLevels.
|
||||
|
||||
|
@ -94,7 +97,7 @@ bool History::LoadQuick(unsigned int _size, char *mem) {
|
|||
assert(n_nodes() * sizeof(Node) +
|
||||
(n_in_links() + n_out_links()) * sizeof(Link) +
|
||||
n_frags() * sizeof(unsigned int) +
|
||||
5 * sizeof(int) == size);
|
||||
5 * sizeof(int) == _size);
|
||||
size = _size;
|
||||
return LoadPointers();
|
||||
}
|
||||
|
@ -177,6 +180,11 @@ char *History::SaveQuick(unsigned int &_size) {
|
|||
link.frag_begin = (unsigned int *)(link.frag_begin - frags);
|
||||
}
|
||||
|
||||
assert(n_nodes() * sizeof(Node) +
|
||||
(n_in_links() + n_out_links()) * sizeof(Link) +
|
||||
n_frags() * sizeof(unsigned int) +
|
||||
5 * sizeof(int) == size);
|
||||
|
||||
_size = size;
|
||||
char *tmp = buffer;
|
||||
buffer = NULL;
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.16 2005/02/19 10:45:04 ponchio
|
||||
Patch generalized and small fixes.
|
||||
|
||||
Revision 1.15 2005/02/14 15:17:36 ponchio
|
||||
Cleaning up.
|
||||
|
||||
|
@ -611,6 +614,8 @@ void FifthStep(const string &crudefile, const string &output,
|
|||
nexus.history.updates.push_back(update);
|
||||
ReverseHistory(nexus.history.updates);
|
||||
|
||||
if(!nexus.history.IsQuick())
|
||||
nexus.history.UpdatesToQuick();
|
||||
// TestBorders(nexus);
|
||||
nexus.Close();
|
||||
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.20 2005/02/19 10:45:04 ponchio
|
||||
Patch generalized and small fixes.
|
||||
|
||||
Revision 1.19 2005/02/18 13:04:13 ponchio
|
||||
Added patch reordering.
|
||||
|
||||
|
@ -87,6 +90,7 @@ int main(int argc, char *argv[]) {
|
|||
string plysource;
|
||||
bool info = false;
|
||||
bool verbose = false;
|
||||
bool dump_history = false;
|
||||
unsigned int ram_size = 128000000;
|
||||
unsigned int chunk_size = 0;
|
||||
|
||||
|
@ -113,10 +117,11 @@ int main(int argc, char *argv[]) {
|
|||
bool zsort = false;
|
||||
|
||||
int option;
|
||||
while((option = getopt(argc, argv, "ilo:a:r:zxsv:n:k:t:b:c:")) != EOF) {
|
||||
while((option = getopt(argc, argv, "ilho:a:r:zxsv:n:k:t:b:c:")) != EOF) {
|
||||
switch(option) {
|
||||
case 'i': info = true; break;
|
||||
case 'l': verbose = true; break;
|
||||
case 'h': dump_history = true; break;
|
||||
case 'o': output = optarg; break;
|
||||
case 'a': {
|
||||
if(strstr(optarg, "strips")) {
|
||||
|
@ -244,7 +249,8 @@ int main(int argc, char *argv[]) {
|
|||
if(optind != argc - 1) {
|
||||
cerr << "Usage: " << argv[0] << " <nexus file> [options]\n"
|
||||
<< " -i : display some info about nexus file\n"
|
||||
<< " -l : list nodes\n"
|
||||
<< " -l : list nodes\n"
|
||||
<< " -h : list history\n"
|
||||
<< " -o <file>: output filename (default is adding 00 to nexus)\n"
|
||||
<< " -a <what>: Add [colors|normals|strips|textures|data|borders]\n"
|
||||
<< " -r <what>: As add...\n"
|
||||
|
@ -334,6 +340,47 @@ int main(int argc, char *argv[]) {
|
|||
<< "\n\tAverage distance: " << meandist
|
||||
<< "\n\tChunk size " << nexus.chunk_size << endl;
|
||||
|
||||
if(dump_history) {
|
||||
if(nexus.history.IsQuick()) {
|
||||
cerr << "Quick format\n";
|
||||
for(unsigned int i = 0; i < nexus.history.n_nodes(); i++) {
|
||||
cerr << "Node: " << i << " out: ";
|
||||
History::History::Node node = nexus.history.nodes[i];
|
||||
for(History::Node::iterator l = node.out_begin(); l != node.out_end(); l++) {
|
||||
cerr << ".";
|
||||
History::Link &link = *l;
|
||||
for(History::Link::iterator p = link.begin(); p != link.end(); p++) {
|
||||
cerr << *p << " ";
|
||||
}
|
||||
}
|
||||
cerr << " in: ";
|
||||
for(History::Node::iterator j = node.in_begin(); j != node.in_end(); j++) {
|
||||
cerr << ".";
|
||||
History::Link &link = *j;
|
||||
for(History::Link::iterator p = link.begin(); p != link.end(); p++) {
|
||||
cerr << *p << " ";
|
||||
}
|
||||
}
|
||||
cerr << endl;
|
||||
}
|
||||
|
||||
} else {
|
||||
cerr << "Update format\n";
|
||||
for(unsigned int i = 0; i < nexus.history.updates.size(); i++) {
|
||||
History::Update &update = nexus.history.updates[i];
|
||||
cerr << "Created: ";
|
||||
for(unsigned int k = 0; k < update.created.size(); k++) {
|
||||
cerr << update.created[k] << " ";
|
||||
}
|
||||
cerr << "\nErased: ";
|
||||
for(unsigned int k = 0; k < update.erased.size(); k++) {
|
||||
cerr << update.erased[k] << " ";
|
||||
}
|
||||
cerr << "\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
for(unsigned int i = 0; i < nexus.size(); i++) {
|
||||
Entry &entry = nexus[i];
|
||||
|
@ -417,14 +464,19 @@ int main(int argc, char *argv[]) {
|
|||
ZSort(nexus, forward, backward);
|
||||
|
||||
//Fixing history
|
||||
unsigned int h_size;
|
||||
char *buffer = nexus.history.Save(h_size);
|
||||
out.history.Load(h_size, buffer);
|
||||
if(!nexus.history.IsQuick())
|
||||
nexus.history.UpdatesToQuick();
|
||||
|
||||
unsigned int hsize;
|
||||
char *buffer = nexus.history.Save(hsize);
|
||||
out.history.Load(hsize, buffer);
|
||||
|
||||
|
||||
|
||||
if(zsort) {
|
||||
if(out.history.IsQuick()) {
|
||||
for(unsigned int i = 0; i < out.history.n_frags(); i++)
|
||||
out.history.frags[i].patch = backward[out.history.frags[i].patch];
|
||||
out.history.frags[i] = backward[out.history.frags[i]];
|
||||
} else {
|
||||
for(unsigned int i = 0; i < out.history.updates.size(); i++) {
|
||||
History::Update &update = out.history.updates[i];
|
||||
|
|
Loading…
Reference in New Issue