~yade-dev/yade/0.80

« back to all changes in this revision

Viewing changes to py/pack/_packSpherePadder.cpp

  • Committer: Anton Gladky
  • Date: 2012-05-02 21:50:42 UTC
  • Revision ID: gladky.anton@gmail.com-20120502215042-v1fa9r65usqe7kfk
0.80.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*************************************************************************
 
2
*  Copyright (C) 2009 by Vincent Richefeu                                *
 
3
*  vincent.richefeu@hmg.inpg.fr                                          *
 
4
*                                                                        *
 
5
*  This program is free software; it is licensed under the terms of the  *
 
6
*  GNU General Public License v2 or later. See file LICENSE for details. *
 
7
**************************************************************************/
 
8
 
 
9
#include"SpherePadder/SpherePadder.hpp"
 
10
#include<yade/lib/pyutil/doc_opts.hpp>
 
11
 
 
12
 
 
13
BOOST_PYTHON_MODULE(_packSpherePadder){
 
14
 
 
15
        YADE_SET_DOCSTRING_OPTS;
 
16
    
 
17
        // not wrapped directly; only pass filename to SpherePadder ctor
 
18
        #if 0 
 
19
        class_<TetraMesh>("TetraMesh")
 
20
                .def("read", &TetraMesh::read)
 
21
                .def("read_gmsh", &TetraMesh::read_gmsh)
 
22
                .def("read_inp", &TetraMesh::read_inp)
 
23
                ;
 
24
        #endif
 
25
 
 
26
    py::class_<SpherePadder>("SpherePadder","Geometrical algorithm for filling tetrahedral mesh with spheres; the algorithm was designed by Jean-François Jerier and is described in [Jerier2009]_.",py::init<std::string,std::string>((py::arg("fileName"),py::arg("meshType")=""),"Initialize using tetrahedral mesh stored in *fileName*. Type of file is determined by extension: .gmsh implies *meshType*='GMSH', .inp implies *meshType*='INP'. If the extension is different, specify *meshType* explicitly. Possible values are 'GMSH' and 'INP'."))
 
27
 
 
28
            .add_property("radiusRatio", &SpherePadder::getRadiusRatio,&SpherePadder::setRadiusRatio_simple)
 
29
                                .def("setRadiusRatio",&SpherePadder::setRadiusRatio,"Like radiusRatio, but taking 2nd parameter.")
 
30
            .add_property("radiusRange", &SpherePadder::getRadiusRange,&SpherePadder::setRadiusRange_py)
 
31
            .add_property("maxOverlapRate", &SpherePadder::getMaxOverlapRate,&SpherePadder::setMaxOverlapRate)
 
32
            .add_property("virtualRadiusFactor", &SpherePadder::getVirtualRadiusFactor,&SpherePadder::setVirtualRadiusFactor)
 
33
            .add_property("maxNumberOfSpheres", &SpherePadder::getMaxNumberOfSpheres,&SpherePadder::setMaxNumberOfSpheres)
 
34
            .add_property("maxSolidFractioninProbe", &SpherePadder::getMaxSolidFractionInProbe,&SpherePadder::setMaxSolidFractioninProbe_py)
 
35
            .add_property("numberOfSpheres", &SpherePadder::getNumberOfSpheres)
 
36
            .def_readonly("meanSolidFraction",&SpherePadder::getMeanSolidFraction)
 
37
 
 
38
            // .def("plugTetraMesh", &SpherePadder::plugTetraMesh)   // takes pointer
 
39
            .def("save_mgpost", &SpherePadder::save_mgpost)
 
40
            // .def("save_Rxyz", &SpherePadder::save_Rxyz) /// is asSpherePack.save(...) instead
 
41
 
 
42
            .def("pad_5", &SpherePadder::pad_5)
 
43
            .def("place_virtual_spheres", &SpherePadder::place_virtual_spheres)
 
44
            .def("densify", &SpherePadder::densify)
 
45
            .def("insert_sphere", &SpherePadder::insert_sphere)
 
46
 
 
47
                                .def("asSpherePack",&SpherePadder::getSpherePackObject);
 
48
            ;
 
49
}
 
50
 
 
51
 
 
52