Wed, 03/19/2014 - 08:25
Hi
I am trying to access the content of an IGES file (a single BSpline curve). I have tried to follow all the steps, and everything works up to the last line in the attached code. I have checked that the Geom_Curve is a Geom_BSplineCurve.
The compilation does not return any error, but I cannot get rid of the following error (it disappears if I comment the last line)
error LNK2019: unresolved external symbol "public: static class Handle_Geom_BSplineCurve __cdecl Handle_Geom_BSplineCurve::DownCast(class Handle_Standard_Transient const &)" (?DownCast@Handle_Geom_BSplineCurve@@SA?AV1@ABVHandle_Standard_Transient@@@Z) referenced in function _main
I cannot find the difference between my code and some of the examples posted about DownCast.
Would you have any idea about what is the problem?
Thank you in advance
#include
#include
#include
#include
#include
#include
#include
void main()
{
char *my_IGES_file="initial.igs";
IGESControl_Reader reader;
IFSelect_ReturnStatus stat = reader.ReadFile(my_IGES_file);
Standard_Boolean failsonly = Standard_False;
IFSelect_PrintCount mode = IFSelect_EntitiesByItem;
reader.PrintCheckLoad(failsonly,mode);
Handle(TColStd_HSequenceOfTransient) list = reader.GiveList("iges-basic-curves-3d");
Standard_Integer nbtrans = reader.TransferList (list);
TopoDS_Shape shape = reader.OneShape();
reader.PrintTransferInfo(IFSelect_FailOnly,IFSelect_Mapping);
TopoDS_Edge edge = TopoDS::Edge(shape);
TopLoc_Location CurveLocation;
Standard_Real CurveStart, CurveEnd;
Handle(Geom_Curve) curve = BRep_Tool::Curve(edge, CurveLocation, CurveStart, CurveEnd);
Handle(Geom_BSplineCurve) BsCurve = Handle(Geom_BSplineCurve)::DownCast(curve);
}
Thu, 03/20/2014 - 08:08
I managed to solve the issue. I had forgotten to link the library TKG3d.lib