/[escript]/branches/ROBW_XPLATFORM/bruce/src/brucecpp.cpp
ViewVC logotype

Contents of /branches/ROBW_XPLATFORM/bruce/src/brucecpp.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 667 - (show annotations)
Fri Mar 24 13:25:00 2006 UTC (15 years ago) by robwdcock
File size: 3091 byte(s)
+ OUCH ARGHH
+ Okay the wizzy linkHack doesn't work. Not sure why but py_tests fail
when the shared library is on the link line directly (without a -l)

+ Unfortunately we can't figure out how to use -l without it prepending
a lib prefix. Hence all the shareable objects in python now need to be
called libblah.so (and lib will need to be prepended on windows!!!!).
This is not the python way and its very annoying. Why do we have this
problem? Because the C++ shared libraries link with each other.


1 // $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 #include "Bruce.h"
17 #include "BruceFactory.h"
18
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(libbrucecpp)
48 {
49
50 //
51 // NOTE: The return_value_policy is necessary for functions that
52 // return pointers.
53
54 def ("Brick",bruce::brick,
55 (arg("n0")=2,arg("n1")=2,arg("n2")=2,
56 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 (arg("n0")=2,arg("n1")=2,
61 arg("l0")=1.0,arg("l1")=1.0),
62 return_value_policy<manage_new_object>());
63
64 class_<bruce::Bruce, bases<escript::AbstractContinuousDomain> >
65 ("Bruce",init<>())
66 .def(init<const bruce::Bruce&>())
67 .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 .def("getDim",&bruce::Bruce::getDim)
73 .def("getNumSamples",&bruce::Bruce::getNumSamples)
74 .def("getNumDataPointsPerSample",&bruce::Bruce::getNumDataPointsPerSample)
75 .def("getX",&bruce::Bruce::getX)
76 .def("setToX",&bruce::Bruce::setToX)
77 .def("getSize",&bruce::Bruce::getSize)
78 .def("setToSize",&bruce::Bruce::setToSize)
79 .def("getTagFromSampleNo",&bruce::Bruce::getTagFromSampleNo)
80 .def("getReferenceNoFromSampleNo",&bruce::Bruce::getReferenceNoFromSampleNo)
81 .def("saveVTK",&bruce::Bruce::saveVTK)
82 .def(self == other<object>())
83 .def(self == self)
84 .def(self != other<object>())
85 .def(self != self);
86
87 }

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26