1 |
jgs |
149 |
// $Id$ |
2 |
|
|
/* |
3 |
|
|
****************************************************************************** |
4 |
|
|
* * |
5 |
|
|
* COPYRIGHT ACcESS 2005 - All Rights Reserved * |
6 |
|
|
* * |
7 |
|
|
* This software is the property of ACcESS. No part of this code * |
8 |
|
|
* may be copied in any form or by any means without the expressed written * |
9 |
|
|
* consent of ACcESS. Copying, use or modification of this software * |
10 |
|
|
* by any unauthorised person is illegal unless that * |
11 |
|
|
* person has a software license agreement with ACcESS. * |
12 |
|
|
* * |
13 |
|
|
****************************************************************************** |
14 |
|
|
*/ |
15 |
|
|
|
16 |
jgs |
465 |
#include "Bruce.h" |
17 |
|
|
#include "BruceFactory.h" |
18 |
jgs |
149 |
|
19 |
|
|
#include <boost/python.hpp> |
20 |
|
|
#include <boost/python/module.hpp> |
21 |
|
|
#include <boost/python/def.hpp> |
22 |
|
|
#include <boost/python/detail/defaults_gen.hpp> |
23 |
|
|
|
24 |
|
|
using namespace boost::python; |
25 |
|
|
|
26 |
|
|
/** |
27 |
|
|
\page bruce Bruce |
28 |
|
|
Bruce is the python module name that contains the interfaces |
29 |
|
|
to the C++ wrapper to bruce. |
30 |
|
|
|
31 |
|
|
\version 1.0.0 |
32 |
|
|
|
33 |
|
|
\section class_desc Class Description: |
34 |
|
|
Bruce |
35 |
|
|
|
36 |
|
|
\section class_limits Class Limitations: |
37 |
|
|
None |
38 |
|
|
|
39 |
|
|
\section class_conds Class Conditions of Use: |
40 |
|
|
None |
41 |
|
|
|
42 |
|
|
\section throws Throws: |
43 |
|
|
None |
44 |
|
|
|
45 |
|
|
*/ |
46 |
|
|
|
47 |
|
|
BOOST_PYTHON_MODULE(brucecpp) |
48 |
|
|
{ |
49 |
|
|
|
50 |
jgs |
150 |
// |
51 |
|
|
// NOTE: The return_value_policy is necessary for functions that |
52 |
|
|
// return pointers. |
53 |
|
|
|
54 |
|
|
def ("Brick",bruce::brick, |
55 |
jgs |
153 |
(arg("n0")=2,arg("n1")=2,arg("n2")=2, |
56 |
jgs |
150 |
arg("l0")=1.0,arg("l1")=1.0,arg("l2")=1.0), |
57 |
|
|
return_value_policy<manage_new_object>()); |
58 |
|
|
|
59 |
|
|
def ("Rectangle",bruce::rectangle, |
60 |
jgs |
153 |
(arg("n0")=2,arg("n1")=2, |
61 |
jgs |
150 |
arg("l0")=1.0,arg("l1")=1.0), |
62 |
|
|
return_value_policy<manage_new_object>()); |
63 |
|
|
|
64 |
jgs |
154 |
class_<bruce::Bruce, bases<escript::AbstractContinuousDomain> > |
65 |
|
|
("Bruce",init<>()) |
66 |
jgs |
149 |
.def(init<const bruce::Bruce&>()) |
67 |
jgs |
151 |
.def("getDescription",&bruce::Bruce::getDescription) |
68 |
|
|
.def("isValidFunctionSpaceType",&bruce::Bruce::isValidFunctionSpaceType) |
69 |
|
|
.def("functionSpaceTypeAsString",&bruce::Bruce::functionSpaceTypeAsString) |
70 |
|
|
.def("getContinuousFunctionCode",&bruce::Bruce::getContinuousFunctionCode) |
71 |
|
|
.def("getFunctionCode",&bruce::Bruce::getFunctionCode) |
72 |
jgs |
149 |
.def("getDim",&bruce::Bruce::getDim) |
73 |
jgs |
154 |
.def("getNumSamples",&bruce::Bruce::getNumSamples) |
74 |
|
|
.def("getNumDataPointsPerSample",&bruce::Bruce::getNumDataPointsPerSample) |
75 |
jgs |
149 |
.def("getX",&bruce::Bruce::getX) |
76 |
jgs |
151 |
.def("setToX",&bruce::Bruce::setToX) |
77 |
|
|
.def("getSize",&bruce::Bruce::getSize) |
78 |
|
|
.def("setToSize",&bruce::Bruce::setToSize) |
79 |
jgs |
154 |
.def("getTagFromSampleNo",&bruce::Bruce::getTagFromSampleNo) |
80 |
|
|
.def("getReferenceNoFromSampleNo",&bruce::Bruce::getReferenceNoFromSampleNo) |
81 |
|
|
.def("saveVTK",&bruce::Bruce::saveVTK) |
82 |
jgs |
151 |
.def(self == other<object>()) |
83 |
|
|
.def(self == self) |
84 |
|
|
.def(self != other<object>()) |
85 |
|
|
.def(self != self); |
86 |
jgs |
149 |
|
87 |
|
|
} |