1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// 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) );
}
}
|