why the point is in the surface????

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(void)
{
char * filename="czg.brep";

gp_Pnt p0(0.0,0.0,0.0);
gp_Circ circle0,circle1;
circle0.SetLocation(p0);
circle0.SetRadius(4.0);
circle0.SetAxis(gp::OZ());
circle1.SetLocation(p0);
circle1.SetRadius(2.0);
circle1.SetAxis(gp::OZ());
//the outer circle

Handle_Geom_Circle cir0=GC_MakeCircle (circle0);
TopoDS_Edge edge0=BRepBuilderAPI_MakeEdge(cir0);
TopoDS_Wire wire0=BRepBuilderAPI_MakeWire(edge0);
TopoDS_Face face0=BRepBuilderAPI_MakeFace(wire0);
//the inner circle
Handle_Geom_Circle cir1=GC_MakeCircle (circle1);
TopoDS_Edge edge1=BRepBuilderAPI_MakeEdge(cir1);
TopoDS_Wire wire1=BRepBuilderAPI_MakeWire(edge1);
TopoDS_Face face1=BRepBuilderAPI_MakeFace(wire1);
TopoDS_Shape face3=BRepAlgoAPI_Cut(face0,face1);
BRepClass3d_SolidClassifier classifier(face3,p1,1.0e-3);
if(classifier.State()==TopAbs_IN)std::cout if(classifier.State()==TopAbs_OUT)std::cout if(classifier.State()==TopAbs_ON) std::cout if(classifier.State()==TopAbs_UNKNOWN)std::cout

return 1;

}

chenzaigao's picture

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(void)
{
char * filename="czg.brep";

gp_Pnt p0(0.0,0.0,0.0);
gp_Circ circle0,circle1;
circle0.SetLocation(p0);
circle0.SetRadius(4.0);
circle0.SetAxis(gp::OZ());
circle1.SetLocation(p0);
circle1.SetRadius(2.0);
circle1.SetAxis(gp::OZ());
//the outer circle

Handle_Geom_Circle cir0=GC_MakeCircle (circle0);
TopoDS_Edge edge0=BRepBuilderAPI_MakeEdge(cir0);
TopoDS_Wire wire0=BRepBuilderAPI_MakeWire(edge0);
TopoDS_Face face0=BRepBuilderAPI_MakeFace(wire0);
//the inner circle
Handle_Geom_Circle cir1=GC_MakeCircle (circle1);
TopoDS_Edge edge1=BRepBuilderAPI_MakeEdge(cir1);
TopoDS_Wire wire1=BRepBuilderAPI_MakeWire(edge1);
TopoDS_Face face1=BRepBuilderAPI_MakeFace(wire1);
TopoDS_Shape face3=BRepAlgoAPI_Cut(face0,face1);
gp_Pnt p1(0.0,0.0,2.0);
std::cout<<"the number of Face is "<

Rob Bachrach's picture

I have not tried your code, but you might try using the BRepClass_FaceClassifier instead of BRepClass3d_SolidClassifier, since you are not actually working with a solid object.