package org.jcae.opencascade.jni;
import static org.junit.Assert.*;
import org.junit.Test;
import org.jcae.opencascade.Utilities;
/**
* Remove a face from a cube
* @author Jerome Robert
*/
public class RemoveFace
{
@Test public void removeFace()
{
double[] p1=new double[]{0, 0, 0};
double[] p2=new double[]{1, 1, 1};
BRepPrimAPI_MakeBox makeBox=new BRepPrimAPI_MakeBox(p1, p2);
TopoDS_Solid cube=(TopoDS_Solid) makeBox.shape();
assertTrue(6 == Utilities.numberOfShape(cube, TopAbs_ShapeEnum.FACE));
// Utilities.dumpTopology(cube);
TopExp_Explorer exp=new TopExp_Explorer(cube,TopAbs_ShapeEnum.SHELL);
TopoDS_Shell shell=(TopoDS_Shell) exp.current();
exp=new TopExp_Explorer(cube, TopAbs_ShapeEnum.FACE);
exp.next();
TopoDS_Face face=(TopoDS_Face) exp.current();
assertTrue(Utilities.isShapeInShape(shell, face));
BRep_Builder bb=new BRep_Builder();
bb.remove(shell, face);
assertTrue(5 == Utilities.numberOfShape(cube, TopAbs_ShapeEnum.FACE));
}
}