nothing...
This commit is contained in:
parent
03863f15b8
commit
1f5315d09f
|
@ -28,7 +28,7 @@ int main(int argc, char *argv[]) {
|
|||
for(unsigned int y = 0; y < side; y++) {
|
||||
Point3f p(x*x*x/((float)side),
|
||||
y*y*y/((float)side), x*y/((float)side));
|
||||
crude.GetVertex(x + side * y) = p;
|
||||
crude.SetVertex(x + side * y, p);
|
||||
crude.GetBox().Add(p);
|
||||
}
|
||||
|
||||
|
@ -36,10 +36,10 @@ int main(int argc, char *argv[]) {
|
|||
for(unsigned int y = 0; y < side-1; y++) {
|
||||
unsigned int pos = x + side*y;
|
||||
Crude::Face face(pos, pos + 1, pos + side);
|
||||
crude.GetFace(0 + 2*x + (side-1)*y*2) = face;
|
||||
crude.SetFace(0 + 2*x + (side-1)*y*2, face);
|
||||
|
||||
face = Crude::Face(pos + 1, pos + 1 + side, pos +side);
|
||||
crude.GetFace(1 + 2*x + (side-1)*y*2) = face;
|
||||
crude.SetFace(1 + 2*x + (side-1)*y*2, face);
|
||||
}
|
||||
|
||||
crude.Close();
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.23 2004/11/28 07:58:49 ponchio
|
||||
*** empty log message ***
|
||||
|
||||
Revision 1.22 2004/11/28 04:14:12 ponchio
|
||||
*** empty log message ***
|
||||
|
||||
|
@ -46,8 +49,7 @@ Revision 1.16 2004/10/22 14:31:56 ponchio
|
|||
Some controls added.
|
||||
|
||||
Revision 1.15 2004/10/21 12:22:21 ponchio
|
||||
Small changes.
|
||||
|
||||
Small change
|
||||
Revision 1.14 2004/10/19 04:23:29 ponchio
|
||||
*** empty log message ***
|
||||
|
||||
|
@ -503,3 +505,91 @@ void VoronoiChain::BuildLevel(Nexus &nexus, unsigned int offset,
|
|||
|
||||
newfragments.clear();
|
||||
}
|
||||
bool VoronoiChain::Save(const string &file) {
|
||||
FILE *fp = fopen((output + ".remap").c_str(), "wb+");
|
||||
if(!fp) {
|
||||
cerr << "Could not create remapping info\n";
|
||||
return -1;
|
||||
}
|
||||
|
||||
unsigned int nlevels = levels.size();
|
||||
fwrite(&nlevels, sizeof(unsigned int), 1, fp);
|
||||
for(int i = 0; i < nlevels; i++) {
|
||||
VoronoiPartition &level = levels[i];
|
||||
unsigned int npoints = level.size();
|
||||
fwrite(&npoints, sizeof(unsigned int), 1, fp);
|
||||
fwrite(&(level[0]), sizeof(Point3f), npoints, fp);
|
||||
}
|
||||
//writing fragments
|
||||
|
||||
unsigned int nfrag = newfragments.size();
|
||||
fwrite(&nfrag, sizeof(unsigned int), 1, fp);
|
||||
std::map<unsigned int, std::set<unsigned int> >::iterator i;
|
||||
for(i = newfragments.begin(); i != newfragments.end(); i++) {
|
||||
unsigned int n = (*i).second.size();
|
||||
fwrite(&((*i).first), sizeof(unsigned int), 1, fp);
|
||||
fwrite(&n, sizeof(unsigned int), 1, fp);
|
||||
set<unsigned int>::iterator k;
|
||||
for(k = (*i).second.begin(); k != (*i).second.end(); k++)
|
||||
fwrite(&*k, sizeof(unsigned int), 1, fp);
|
||||
}
|
||||
nfrag = oldfragments.size();
|
||||
fwrite(&nfrag, sizeof(unsigned int), 1, fp);
|
||||
for(i = oldfragments.begin(); i != oldfragments.end(); i++) {
|
||||
unsigned int n = (*i).second.size();
|
||||
fwrite(&((*i).first), sizeof(unsigned int), 1, fp);
|
||||
fwrite(&n, sizeof(unsigned int), 1, fp);
|
||||
set<unsigned int>::iterator k;
|
||||
for(k = (*i).second.begin(); k != (*i).second.end(); k++)
|
||||
fwrite(&*k, sizeof(unsigned int), 1, fp);
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
bool VoronoiChain::Load(const string &file) {
|
||||
FILE *fp = fopen(file.c_str(), "rb");
|
||||
if(!fp) {
|
||||
cerr << "Could not open remapping info\n";
|
||||
return -1;
|
||||
}
|
||||
unsigned int nlevels;
|
||||
fread(&nlevels, sizeof(unsigned int), 1, fp);
|
||||
for(int i = 0; i < nlevels; i++) {
|
||||
levels.push_back(VoronoiPartition());
|
||||
VoronoiPartition &level = levels.back();
|
||||
|
||||
unsigned int npoints;
|
||||
fread(&npoints, sizeof(unsigned int), 1, fp);
|
||||
level.resize(npoints);
|
||||
fread(&(level[0]), sizeof(Point3f), npoints, fp);
|
||||
level.Init();
|
||||
}
|
||||
//reading fragments
|
||||
unsigned int nfrag;
|
||||
fread(&nfrag, sizeof(unsigned int), 1, fp);
|
||||
for(unsigned int i = 0; i < nfrag; i++) {
|
||||
unsigned int p, n;
|
||||
fread(&p, sizeof(unsigned int), 1, fp);
|
||||
set<unsigned int> &s = newfragments[p];
|
||||
fread(&n, sizeof(unsigned int), 1, fp);
|
||||
for(unsigned int k = 0; k < n; k++) {
|
||||
unsigned int j;
|
||||
fread(&j, sizeof(unsigned int), 1, fp);
|
||||
s.insert(j);
|
||||
}
|
||||
}
|
||||
|
||||
fread(&nfrag, sizeof(unsigned int), 1, fp);
|
||||
for(unsigned int i = 0; i < nfrag; i++) {
|
||||
unsigned int p, n;
|
||||
fread(&p, sizeof(unsigned int), 1, fp);
|
||||
set<unsigned int> &s = oldfragments[p];
|
||||
fread(&n, sizeof(unsigned int), 1, fp);
|
||||
for(unsigned int k = 0; k < n; k++) {
|
||||
unsigned int j;
|
||||
fread(&j, sizeof(unsigned int), 1, fp);
|
||||
s.insert(j);
|
||||
}
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.6 2004/11/18 18:30:15 ponchio
|
||||
Using baricenters... lotsa changes.
|
||||
|
||||
Revision 1.5 2004/10/30 20:17:03 ponchio
|
||||
Fixed big patches problem.
|
||||
|
||||
|
@ -47,6 +50,7 @@ First draft.
|
|||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
#include <vcg/space/box3.h>
|
||||
|
||||
|
@ -77,6 +81,10 @@ class VoronoiChain: public PChain {
|
|||
int steps);
|
||||
|
||||
void BuildLevel(Nexus &nexus, unsigned int offset, float scaling, int steps);
|
||||
bool Save(const std::string &file);
|
||||
bool Load(const std::string &file);
|
||||
|
||||
|
||||
|
||||
std::vector<VoronoiPartition> levels;
|
||||
|
||||
|
|
Loading…
Reference in New Issue