// 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) ); } }