git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10110 626c5289-ae23-0410-ae9c-e8d60b6d4f22
49 lines
1 KiB
R
49 lines
1 KiB
R
# This file illustrates the proxy class C++ interface generated
|
|
# by SWIG.
|
|
|
|
dyn.load(paste("example_wrap", .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");
|
|
|