blob: ab6cdf159a44f91b859e8c423327316496609817 [file] [log] [blame]
// Example using pointers to member functions
public class main {
static {
try {
System.loadLibrary("example");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
// Get the pointers
SWIGTYPE_m_Shape__f_void__double area_pt = example.areapt();
SWIGTYPE_m_Shape__f_void__double perim_pt = example.perimeterpt();
System.out.println( "area_pt =" + area_pt );
System.out.println( "perim_pt = " + perim_pt );
// Create some objects
Circle c = new Circle(4);
Square s = new Square(10);
// Do some calculations
System.out.println( "Circle area = " + example.do_op(c,area_pt) );
System.out.println( "Circle perim = " + example.do_op(c,perim_pt) );
System.out.println( "Square area = " + example.do_op(s,area_pt) );
System.out.println( "Square perim = " + example.do_op(s,perim_pt) );
System.out.println( "areavar = " + example.getAreavar() );
System.out.println( "perimetervar = " + example.getPerimetervar() );
// Try the variables
System.out.println( "Circle area = " + example.do_op(c,example.getAreavar()) );
System.out.println( "Circle perim = " + example.do_op(c,example.getPerimetervar()) );
System.out.println( "Square area = " + example.do_op(s,example.getAreavar()) );
System.out.println( "Square perim = " + example.do_op(s,example.getPerimetervar()) );
// Modify one of the variables
example.setAreavar(perim_pt);
System.out.println( "Circle perimeter = " + example.do_op(c,example.getAreavar()) );
// Try the constants
System.out.println( "example.AREAPT =" + example.AREAPT );
System.out.println( "example.PERIMPT=" + example.PERIMPT );
System.out.println( "example.NULLPT =" + example.NULLPT );
System.out.println( "Circle area = " + example.do_op(c,example.AREAPT) );
System.out.println( "Circle perim = " + example.do_op(c,example.PERIMPT) );
System.out.println( "Square area = " + example.do_op(s,example.AREAPT) );
System.out.println( "Square perim = " + example.do_op(s,example.PERIMPT) );
}
}