folded / carve

Automatically exported from code.google.com/p/carve
MIT License
45 stars 20 forks source link

Wrong results by A_MINUS_B #68

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. get the attached models obj1.ply and obj2.ply
2. run the following code:
    carve::mesh::MeshSet<3> *obj1=readPLYasMesh("obj1.ply");
    carve::mesh::MeshSet<3> *obj2=readPLYasMesh("obj2.ply");
if(obj1->isClosed()==false)
{
    printf("obj1 is not closed\n");
}
if(obj2->isClosed()==false)
{
    printf("obj2 is not closed\n");
}
    carve::csg::CSG csg;
    obj1 = csg.compute(obj1,obj2,csg.A_MINUS_B);
    writePLY("obj1_result.ply", obj1, true);

3.

What is the expected output? What do you see instead?
The result obj1_result.ply is not correct. If you show the polygons in the 
range of 0<x<0.21, -0.05<y<0.1 and -1<z<3.1, the wrong polygon can be shown. In 
addition, the model is symmetric, and if you show polygons in the range of 
-0.21<x<0, -0.05<y<0.1 and -1<z<3.1, the polygons are correct.

What version of the product are you using? On what operating system?
latest version.

Please provide any additional information below.
please see attached files.

Original issue reported on code.google.com by tanglaoy...@gmail.com on 7 Aug 2014 at 12:39

Attachments: