| /* File : example.cxx */ | |
| /* Deal with Microsoft's attempt at deprecating C standard runtime functions */ | |
| #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) | |
| # define _CRT_SECURE_NO_DEPRECATE | |
| #endif | |
| #include "example.h" | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| Vector operator+(const Vector &a, const Vector &b) { | |
| Vector r; | |
| r.x = a.x + b.x; | |
| r.y = a.y + b.y; | |
| r.z = a.z + b.z; | |
| return r; | |
| } | |
| char *Vector::print() { | |
| static char temp[512]; | |
| sprintf(temp,"Vector %p (%g,%g,%g)", (void *)this, x,y,z); | |
| return temp; | |
| } | |
| VectorArray::VectorArray(int size) { | |
| items = new Vector[size]; | |
| maxsize = size; | |
| } | |
| VectorArray::~VectorArray() { | |
| delete [] items; | |
| } | |
| Vector &VectorArray::operator[](int index) { | |
| if ((index < 0) || (index >= maxsize)) { | |
| printf("Panic! Array index out of bounds.\n"); | |
| exit(1); | |
| } | |
| return items[index]; | |
| } | |
| int VectorArray::size() { | |
| return maxsize; | |
| } | |