<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7655.5">
<TITLE>RE: [IGSTK-Users] pure virtual function in</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi Sean,<BR>
<BR>
>From the C++ standpoint the pure virtual definition is the way to go.<BR>
<BR>
As a side comment, we are shifting most of our GUI development to use Qt and will only maintain existing FLTK code but won't develop it further. You may also find the applications in our IGI tutorial (<A HREF="http://public.kitware.com/IGSTKWIKI/index.php/IGI_Tutorial">http://public.kitware.com/IGSTKWIKI/index.php/IGI_Tutorial</A>) of interest. The source code is available in the IGSTK apps git repo (details here: <A HREF="http://www.igstk.org/Wiki/IGSTK/Git">http://www.igstk.org/Wiki/IGSTK/Git</A>).<BR>
<BR>
     regards<BR>
         Ziv<BR>
<BR>
--<BR>
Ziv Yaniv, Ph.D.,<BR>
Principal Investigator,<BR>
The Sheikh Zayed Institute for Pediatric Surgical Innovation<BR>
Children's National Medical Center<BR>
6th Floor Main Hospital, Room M7740<BR>
111 Michigan Ave., N.W<BR>
Washington, D.C 20010<BR>
Phone: 202-476-1288<BR>
email: zyaniv@childrensnational.org<BR>
<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: igstk-users-bounces@public.kitware.com on behalf of Sean Lee<BR>
Sent: Fri 12/21/2012 10:04 AM<BR>
To: Yaniv, Ziv<BR>
Cc: igstk-users@public.kitware.com<BR>
Subject: Re: [IGSTK-Users] pure virtual function in<BR>
<BR>
<BR>
<BR>
Thanks Again for your reply.<BR>
Another solution could be changing those to pure virtual functions in head file, as followings,<BR>
  virtual void InitializeTrackingAndCalibration()=0;  virtual void SaveCalibration()=0;<BR>
Which way is better?<BR>
SeanSubject: RE: [IGSTK-Users] pure virtual function in<BR>
Date: Fri, 21 Dec 2012 09:35:01 -0500<BR>
From: ZYaniv@childrensnational.org<BR>
To: kevinseanlee@live.com<BR>
CC: igstk-users@public.kitware.com<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
RE: [IGSTK-Users] pure virtual function in<BR>
<BR>
<BR>
<BR>
<BR>
Hi Sean,<BR>
<BR>
<BR>
<BR>
This seems to be a problem with the C++ code generated by FLTK. The PivotCalibrationFLTKWidgetExampleUI.{cxx,h} are autogenerated by FLTK's fluid program from the PivotCalibrationFLTKWidgetExampleUI.fl file. In the older versions of FLTK the generated cxx file contained the following implementation of the function:<BR>
<BR>
<BR>
<BR>
void PivotCalibrationFLTKWidgetExampleUI::InitializeTrackingAndCalibration() {<BR>
<BR>
}<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
An empty implementation which is overridden in the descendent PivotCalibrationFLTKWidgetExample. Based on the error you get I cannot be sure what is the problem. Please take a look at the *.fl file and the code generated by fluid. You will probably need to modify the *.fl file so that the generated C++ code doesn't cause this error.<BR>
<BR>
<BR>
<BR>
        regards<BR>
<BR>
            Ziv<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
--<BR>
<BR>
Ziv Yaniv, Ph.D.,<BR>
<BR>
Principal Investigator,<BR>
<BR>
The Sheikh Zayed Institute for Pediatric Surgical Innovation<BR>
<BR>
Children's National Medical Center<BR>
<BR>
6th Floor Main Hospital, Room M7740<BR>
<BR>
111 Michigan Ave., N.W<BR>
<BR>
Washington, D.C 20010<BR>
<BR>
Phone: 202-476-1288<BR>
<BR>
email: zyaniv@childrensnational.org<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
<BR>
From: igstk-users-bounces@public.kitware.com on behalf of Sean Lee<BR>
<BR>
Sent: Fri 12/21/2012 8:29 AM<BR>
<BR>
To: ozgur_guler@gmx.at<BR>
<BR>
Cc: igstk-users@public.kitware.com<BR>
<BR>
Subject: Re: [IGSTK-Users] pure virtual function in<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Thanks, Ozgur.<BR>
<BR>
It was fltk-1.3.2. But how do I fix it? Can I keep this version and fix the problem?<BR>
<BR>
Sean<BR>
<BR>
<BR>
<BR>
Date: Fri, 21 Dec 2012 07:56:08 -0500<BR>
<BR>
Subject: Re: [IGSTK-Users] pure virtual function in<BR>
<BR>
From: ozgur_guler@gmx.at<BR>
<BR>
To: kevinseanlee@live.com<BR>
<BR>
CC: igstk-users@public.kitware.com<BR>
<BR>
<BR>
<BR>
Hi Sean,<BR>
<BR>
<BR>
<BR>
which FLTK version do you use?<BR>
<BR>
<BR>
<BR>
IGSTK is compatible with FLTK versions 1.1.X<BR>
<BR>
Best,<BR>
<BR>
<BR>
<BR>
Ozgur<BR>
<BR>
On Dec 20, 2012 10:19 PM, "Sean Lee" <kevinseanlee@live.com> wrote:<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
I am getting this link error when I building the calibration example.<BR>
<BR>
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------2>------ Build started: Project: PivotCalibrationFLTKWidgetExample, Configuration: Debug Win32 ------<BR>
<BR>
2>PivotCalibrationFLTKWidgetExampleUI.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall PivotCalibrationFLTKWidgetExampleUI::InitializeTrackingAndCalibration(void)" (?InitializeTrackingAndCalibration@PivotCalibrationFLTKWidgetExampleUI@@UAEXXZ)<BR>
<BR>
2>PivotCalibrationFLTKWidgetExampleUI.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall PivotCalibrationFLTKWidgetExampleUI::SaveCalibration(void)" (?SaveCalibration@PivotCalibrationFLTKWidgetExampleUI@@UAEXXZ)<BR>
<BR>
2>C:\OpensourceBinary\IGSTK2\bin\Debug\PivotCalibrationFLTKWidgetExample.exe : fatal error LNK1120: 2 unresolved externals========== Build: 1 succeeded, 1 failed, 4 up-to-date, 0 skipped ==========<BR>
<BR>
<BR>
<BR>
But suppose that those two functions are pure virtual functions and would be overridden in  PivotCalibrationFLTKWidgetExample.<BR>
<BR>
<BR>
<BR>
Any ideas what are happening? Thanks.<BR>
<BR>
Sean                                    <BR>
<BR>
<BR>
<BR>
<BR>
<BR>
_______________________________________________<BR>
<BR>
<BR>
<BR>
Powered by www.kitware.com<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Visit other Kitware open-source projects at <A HREF="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</A><BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Follow this link to subscribe/unsubscribe:<BR>
<BR>
<BR>
<BR>
<A HREF="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users</A><BR>
<BR>
                                        <BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
                                         <BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>