| # This file illustrates the proxy class C++ interface generated |
| # by SWIG. |
| |
| dyn.load(paste("example", .Platform$dynlib.ext, sep="")) |
| source("example.R") |
| cacheMetaData(1) |
| |
| # ----- Object creation ----- |
| |
| print("Creating some objects:") |
| circle <- Circle(10) |
| print (" Created circle") |
| square <- Square(10) |
| print (" Created square") |
| |
| # ----- Access a static member ----- |
| |
| sprintf("A total of %d shapes were created", Shape_nshapes()) |
| |
| # ----- Member data access ----- |
| |
| # Set the location of the object |
| |
| circle$x <- 20 |
| circle$y <- 30 |
| |
| square$x <- -10 |
| square$y <- 5 |
| |
| print("Here is their current position:") |
| sprintf(" Circle = (%f, %f)", circle$x,circle$y) |
| sprintf(" Square = (%f, %f)", square$x,square$y) |
| |
| # ----- Call some methods ----- |
| |
| print ("Here are some properties of the shapes:") |
| |
| sapply(c(circle, square), |
| function(o) { |
| sprintf(" area = %f perimeter = %f", o$area(), o$perimeter()) |
| }) |
| |
| print("Guess I'll clean up now") |
| delete(circle) |
| delete(square) |
| |
| sprintf("%d shapes remain", Shape_nshapes()) |
| print ("Goodbye"); |
| |