blob: 4a20285533e49064c7922b9f7ab00244b3dc0c40 [file] [log] [blame]
# 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");