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