* All Tools:
- A complete sweep of cleanup to suppress allmost all compiler warnings. * ./mauka: - New: Added Python support, for configuration & Unicorn.
This commit is contained in:
parent
e111ec062b
commit
f2aae7a567
|
@ -22,7 +22,9 @@
|
|||
mauka/MaukaEngine.h
|
||||
)
|
||||
set ( mocIncludes mauka/GraphicMaukaEngine.h )
|
||||
set ( pyIncludes mauka/PyMaukaEngine.h )
|
||||
set ( pyIncludes mauka/PyMaukaEngine.h
|
||||
mauka/PyGraphicMaukaEngine.h
|
||||
)
|
||||
set ( cpps Configuration.cpp
|
||||
BBPlacer.cpp
|
||||
FeedCells.cpp
|
||||
|
@ -40,6 +42,7 @@
|
|||
)
|
||||
set ( pyCpps PyMauka.cpp
|
||||
PyMaukaEngine.cpp
|
||||
PyGraphicMaukaEngine.cpp
|
||||
)
|
||||
qt4_wrap_cpp ( mocCpps ${mocIncludes} )
|
||||
|
||||
|
@ -68,7 +71,9 @@
|
|||
PREFIX ""
|
||||
OUTPUT_NAME "Mauka"
|
||||
)
|
||||
target_link_libraries ( pyMauka mauka )
|
||||
target_link_libraries ( pyMauka mauka
|
||||
${CORIOLIS_PYTHON_LIBRARIES}
|
||||
)
|
||||
|
||||
install ( TARGETS mauka DESTINATION lib${LIB_SUFFIX} )
|
||||
install ( TARGETS pyMauka DESTINATION ${PYTHON_SITE_PACKAGES} )
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
|
@ -17,10 +12,7 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./Configuration.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#include <iostream>
|
||||
|
|
|
@ -222,15 +222,19 @@ void MaukaEngine::Construct()
|
|||
{
|
||||
//cerr << "unplaced " << (*ioccurrence) << (*ioccurrence).getBoundingBox() << endl;
|
||||
Cell* model = instance->getMasterCell();
|
||||
DbU::DbU::Unit insWidth = model->getAbutmentBox().getWidth();
|
||||
DbU::DbU::Unit insHeight = model->getAbutmentBox().getHeight();
|
||||
if (standardCellHeight == 0)
|
||||
standardCellHeight = insHeight;
|
||||
DbU::Unit insWidth = model->getAbutmentBox().getWidth();
|
||||
DbU::Unit insHeight = model->getAbutmentBox().getHeight();
|
||||
if (standardCellHeight == 0) {
|
||||
cmess1 << " - Slice height deduced from: <" << model << ">." << endl;
|
||||
standardCellHeight = insHeight;
|
||||
}
|
||||
else if (insHeight != standardCellHeight)
|
||||
{
|
||||
throw Error("All non-standard instances : "
|
||||
+ getString(instance->getName())
|
||||
+ " must be placed");
|
||||
+ " must be placed "
|
||||
+ getString(standardCellHeight) + " "
|
||||
+ DbU::getValueString(standardCellHeight) );
|
||||
}
|
||||
_instanceOccurrencesVector.push_back(*ioccurrence);
|
||||
//VerifyPathCellBox(*ioccurrence);
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
|
||||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
// | Author : Jean-Paul Chaput |
|
||||
// | E-mail : Jean-Paul.Chaput@lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./PyGraphicMaukaEngine.cpp" |
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#include "mauka/PyGraphicMaukaEngine.h"
|
||||
#include "hurricane/isobar/PyCell.h"
|
||||
#include "hurricane/Cell.h"
|
||||
|
||||
|
||||
#undef ACCESS_OBJECT
|
||||
#undef ACCESS_CLASS
|
||||
#define ACCESS_OBJECT _baseObject._object
|
||||
#define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject)
|
||||
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(GraphicMaukaEngine,gtool,function)
|
||||
|
||||
|
||||
namespace Mauka {
|
||||
|
||||
using namespace Hurricane;
|
||||
using namespace Isobar;
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
// +=================================================================+
|
||||
// | "PyGraphicMaukaEngine" Python Module Code Part |
|
||||
// +=================================================================+
|
||||
|
||||
#if defined(__PYTHON_MODULE__)
|
||||
|
||||
|
||||
// +-------------------------------------------------------------+
|
||||
// | "PyGraphicMaukaEngine" Attribute Methods |
|
||||
// +-------------------------------------------------------------+
|
||||
|
||||
|
||||
static PyObject* PyGraphicMaukaEngine_grab ( PyObject* )
|
||||
{
|
||||
trace << "PyGraphicMaukaEngine_grab()" << endl;
|
||||
PyGraphicMaukaEngine* pyGraphicMaukaEngine = NULL;
|
||||
|
||||
HTRY
|
||||
pyGraphicMaukaEngine = PyObject_NEW ( PyGraphicMaukaEngine, &PyTypeGraphicMaukaEngine );
|
||||
if ( pyGraphicMaukaEngine == NULL ) return NULL;
|
||||
|
||||
pyGraphicMaukaEngine->ACCESS_OBJECT = GraphicMaukaEngine::grab();
|
||||
HCATCH
|
||||
|
||||
return (PyObject*)pyGraphicMaukaEngine;
|
||||
}
|
||||
|
||||
|
||||
static PyObject* PyGraphicMaukaEngine_getCell ( PyGraphicMaukaEngine* self )
|
||||
{
|
||||
trace << "PyGraphicMaukaEngine_getCell ()" << endl;
|
||||
|
||||
Cell* cell = NULL;
|
||||
|
||||
HTRY
|
||||
METHOD_HEAD("GraphicMaukaEngine.getCell()")
|
||||
cell = gtool->getCell ();
|
||||
HCATCH
|
||||
|
||||
if (cell == NULL) Py_RETURN_NONE;
|
||||
return PyCell_Link(cell);
|
||||
}
|
||||
|
||||
|
||||
GetNameMethod(GraphicMaukaEngine, gtool)
|
||||
|
||||
// Standart destroy (Attribute).
|
||||
|
||||
|
||||
PyMethodDef PyGraphicMaukaEngine_Methods[] =
|
||||
{ { "grab" , (PyCFunction)PyGraphicMaukaEngine_grab , METH_NOARGS|METH_STATIC
|
||||
, "Returns the GraphicMaukaEngine singleton." }
|
||||
, { "getName" , (PyCFunction)PyGraphicMaukaEngine_getName , METH_NOARGS
|
||||
, "Returns the name of the GraphicMaukaEngine (class attribute)." }
|
||||
, { "getCell" , (PyCFunction)PyGraphicMaukaEngine_getCell , METH_NOARGS
|
||||
, "Returns the Cell on which this GraphicMaukaEngine is attached." }
|
||||
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// PyGraphicMaukaEngine Type Methods.
|
||||
|
||||
|
||||
PythonOnlyDeleteMethod(GraphicMaukaEngine)
|
||||
PyTypeObjectLinkPyType(GraphicMaukaEngine)
|
||||
|
||||
|
||||
#else // End of Python Module Code Part.
|
||||
|
||||
|
||||
// +=================================================================+
|
||||
// | "PyGraphicMaukaEngine" Shared Library Code Part |
|
||||
// +=================================================================+
|
||||
|
||||
// Link/Creation Method.
|
||||
LinkCreateMethod(GraphicMaukaEngine)
|
||||
|
||||
PyTypeInheritedObjectDefinitions(GraphicMaukaEngine,GraphicTool)
|
||||
|
||||
|
||||
#endif // End of Shared Library Code Part.
|
||||
|
||||
} // extern "C".
|
||||
|
||||
} // CRL namespace.
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2010-2012, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
|
@ -17,15 +12,13 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./PyMauka.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#include "hurricane/isobar/PyHurricane.h"
|
||||
#include "hurricane/isobar/PyCell.h"
|
||||
#include "mauka/PyMaukaEngine.h"
|
||||
#include "mauka/PyGraphicMaukaEngine.h"
|
||||
|
||||
|
||||
namespace Mauka {
|
||||
|
@ -35,6 +28,8 @@ namespace Mauka {
|
|||
using Hurricane::tab;
|
||||
using Hurricane::in_trace;
|
||||
using Isobar::__cs;
|
||||
using CRL::PyTypeToolEngine;
|
||||
using CRL::PyTypeGraphicTool;
|
||||
|
||||
|
||||
#if !defined(__PYTHON_MODULE__)
|
||||
|
@ -61,11 +56,7 @@ extern "C" {
|
|||
|
||||
|
||||
static PyMethodDef PyMauka_Methods[] =
|
||||
{ { "get" , (PyCFunction)PyMaukaEngine_get , METH_VARARGS
|
||||
, "Gets MaukaEngine from a Cell." }
|
||||
, { "create" , (PyCFunction)PyMaukaEngine_create, METH_VARARGS
|
||||
, "Create MaukaEngine on a Cell." }
|
||||
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||
{ {NULL, NULL, 0, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
||||
|
@ -78,8 +69,10 @@ extern "C" {
|
|||
trace << "initMauka()" << endl;
|
||||
|
||||
PyMaukaEngine_LinkPyType ();
|
||||
PyGraphicMaukaEngine_LinkPyType ();
|
||||
|
||||
PYTYPE_READY ( MaukaEngine );
|
||||
PYTYPE_READY_SUB ( MaukaEngine , ToolEngine );
|
||||
PYTYPE_READY_SUB ( GraphicMaukaEngine, GraphicTool );
|
||||
|
||||
// Identifier string can take up to 10 characters.
|
||||
__cs.addType ( "mauka", &PyTypeMaukaEngine, "<MaukaEngine>", false );
|
||||
|
@ -91,9 +84,11 @@ extern "C" {
|
|||
<< " Failed to initialize Mauka module." << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
PyObject* dictionnary = PyModule_GetDict ( module );
|
||||
//DbULoadConstants ( dictionnary );
|
||||
|
||||
Py_INCREF ( &PyTypeMaukaEngine );
|
||||
PyModule_AddObject ( module, "MaukaEngine", (PyObject*)&PyTypeMaukaEngine );
|
||||
Py_INCREF ( &PyTypeGraphicMaukaEngine );
|
||||
PyModule_AddObject ( module, "GraphicMaukaEngine", (PyObject*)&PyTypeGraphicMaukaEngine );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2010-2012, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
|
@ -17,16 +12,19 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./PyMaukaEngine.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#include "hurricane/isobar/PyCell.h"
|
||||
#include "nimbus/NimbusEngine.h"
|
||||
#include "mauka/PyMaukaEngine.h"
|
||||
|
||||
# undef ACCESS_OBJECT
|
||||
# undef ACCESS_CLASS
|
||||
# define ACCESS_OBJECT _baseObject._object
|
||||
# define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject)
|
||||
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(MaukaEngine,mauka,function)
|
||||
|
||||
|
||||
namespace Mauka {
|
||||
|
||||
|
@ -47,111 +45,119 @@ namespace Mauka {
|
|||
using Isobar::ParseTwoArg;
|
||||
using Isobar::PyCell;
|
||||
using Isobar::PyCell_Link;
|
||||
using CRL::PyToolEngine;
|
||||
using Nimbus::NimbusEngine;
|
||||
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(MaukaEngine,mauka,function)
|
||||
|
||||
|
||||
// x=================================================================x
|
||||
// | "PyMaukaEngine" Python Module Code Part |
|
||||
// x=================================================================x
|
||||
|
||||
#if defined(__PYTHON_MODULE__)
|
||||
|
||||
// +=================================================================+
|
||||
// | "PyMaukaEngine" Python Module Code Part |
|
||||
// +=================================================================+
|
||||
|
||||
|
||||
static PyObject* PyMaukaEngine_get ( PyObject*, PyObject* args )
|
||||
{
|
||||
trace << "PyMaukaEngine_get()" << endl;
|
||||
|
||||
MaukaEngine* mauka = NULL;
|
||||
|
||||
HTRY
|
||||
PyObject* arg0;
|
||||
|
||||
if (not ParseOneArg( "Mauka.get", args, CELL_ARG, &arg0)) return NULL;
|
||||
mauka = MaukaEngine::get(PYCELL_O(arg0));
|
||||
HCATCH
|
||||
|
||||
return PyMaukaEngine_Link(mauka);
|
||||
}
|
||||
|
||||
|
||||
static PyObject* PyMaukaEngine_create ( PyObject*, PyObject* args )
|
||||
{
|
||||
trace << "PyMaukaEngine_create()" << endl;
|
||||
|
||||
MaukaEngine* mauka = NULL;
|
||||
|
||||
HTRY
|
||||
PyObject* arg0;
|
||||
|
||||
if (not ParseOneArg( "Mauka.get", args, CELL_ARG, &arg0)) return NULL;
|
||||
|
||||
Cell* cell = PYCELL_O(arg0);
|
||||
mauka = MaukaEngine::get(cell);
|
||||
|
||||
if ( mauka == NULL ) {
|
||||
NimbusEngine* nimbus = NimbusEngine::get(cell);
|
||||
if (nimbus == NULL)
|
||||
nimbus = NimbusEngine::create(cell);
|
||||
|
||||
mauka = MaukaEngine::create(cell);
|
||||
} else
|
||||
cerr << Warning("%s already has a Mauka engine.",getString(cell).c_str()) << endl;
|
||||
HCATCH
|
||||
|
||||
return PyMaukaEngine_Link(mauka);
|
||||
}
|
||||
|
||||
|
||||
PyObject* PyMaukaEngine_regroupOverloadedGCells ( PyMaukaEngine*, PyObject* args )
|
||||
{
|
||||
trace << "PyMaukaEngine_regroupOverloadedGCells()" << endl;
|
||||
|
||||
HTRY
|
||||
PyObject* arg0;
|
||||
|
||||
if (not ParseOneArg("Mauka.regroupOverloadedGCells", args, CELL_ARG, &arg0)) return NULL;
|
||||
MaukaEngine::regroupOverloadedGCells(PYCELL_O(arg0));
|
||||
HCATCH
|
||||
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
// Standart Accessors (Attributes).
|
||||
DirectVoidMethod(MaukaEngine,mauka,Run)
|
||||
DirectVoidMethod(MaukaEngine,mauka,printConfiguration)
|
||||
|
||||
// Standart Destroy (Attribute).
|
||||
DBoDestroyAttribute(PyMaukaEngine_destroy,PyMaukaEngine)
|
||||
|
||||
|
||||
PyMethodDef PyMaukaEngine_Methods[] =
|
||||
{ { "run" , (PyCFunction)PyMaukaEngine_Run , METH_NOARGS
|
||||
, "Runs Mauka on it's Cell." }
|
||||
, { "destroy" , (PyCFunction)PyMaukaEngine_destroy, METH_NOARGS
|
||||
, "Destroy the associated hurricane object. The python object remains." }
|
||||
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||
{ { "get" , (PyCFunction)PyMaukaEngine_get , METH_VARARGS|METH_STATIC
|
||||
, "Return the Mauka engine associated to the Cell, None if there isn't." }
|
||||
, { "create" , (PyCFunction)PyMaukaEngine_create , METH_VARARGS|METH_STATIC
|
||||
, "Create a Mauka engine on this Cell." }
|
||||
, { "printConfiguration" , (PyCFunction)PyMaukaEngine_printConfiguration , METH_NOARGS
|
||||
, "Display on the console the configuration of Mauka." }
|
||||
, { "regroupOverloadedGCells", (PyCFunction)PyMaukaEngine_regroupOverloadedGCells, METH_VARARGS|METH_STATIC
|
||||
, "Destroy hierarchical levels that cannot satisfy the placement." }
|
||||
, { "run" , (PyCFunction)PyMaukaEngine_Run , METH_NOARGS
|
||||
, "Runs Mauka on it's Cell." }
|
||||
, { "destroy" , (PyCFunction)PyMaukaEngine_destroy , METH_NOARGS
|
||||
, "Destroy the associated hurricane object. The python object remains." }
|
||||
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
||||
PythonOnlyDeleteMethod(MaukaEngine)
|
||||
DBoDeleteMethod(MaukaEngine)
|
||||
PyTypeObjectLinkPyType(MaukaEngine)
|
||||
|
||||
|
||||
#else // End of Python Module Code Part.
|
||||
|
||||
|
||||
// x=================================================================x
|
||||
// +=================================================================+
|
||||
// | "PyMaukaEngine" Shared Library Code Part |
|
||||
// x=================================================================x
|
||||
|
||||
|
||||
extern PyObject* PyMaukaEngine_get ( PyObject *module, PyObject* args )
|
||||
{
|
||||
trace << "PyMaukaEngine_get()" << endl;
|
||||
|
||||
MaukaEngine* mauka = NULL;
|
||||
PyMaukaEngine* pyMauka = NULL;
|
||||
|
||||
HTRY
|
||||
PyObject* arg0;
|
||||
|
||||
if ( not ParseOneArg ( "Mauka.get", args, CELL_ARG, &arg0) ) return NULL;
|
||||
mauka = MaukaEngine::get ( PYCELL_O(arg0) );
|
||||
|
||||
pyMauka = PyObject_NEW ( PyMaukaEngine, &PyTypeMaukaEngine );
|
||||
if ( pyMauka == NULL ) return NULL;
|
||||
|
||||
pyMauka->_object = mauka;
|
||||
HCATCH
|
||||
|
||||
return (PyObject*)pyMauka;
|
||||
}
|
||||
|
||||
|
||||
extern PyObject* PyMaukaEngine_create ( PyObject *module, PyObject* args )
|
||||
{
|
||||
trace << "PyMaukaEngine_create()" << endl;
|
||||
|
||||
MaukaEngine* mauka = NULL;
|
||||
PyMaukaEngine* pyMauka = NULL;
|
||||
|
||||
HTRY
|
||||
PyObject* arg0;
|
||||
|
||||
if ( not ParseOneArg ( "Mauka.get", args, CELL_ARG, &arg0) ) return NULL;
|
||||
|
||||
Cell* cell = PYCELL_O(arg0);
|
||||
mauka = MaukaEngine::get ( cell );
|
||||
|
||||
if ( mauka == NULL ) {
|
||||
NimbusEngine* nimbus = NimbusEngine::get ( cell );
|
||||
if ( nimbus == NULL )
|
||||
NimbusEngine::create ( cell );
|
||||
|
||||
mauka = MaukaEngine::create ( cell );
|
||||
if ( cmess1.enabled() )
|
||||
mauka->getConfiguration()->print( cell );
|
||||
} else
|
||||
cerr << Warning("%s already has a Mauka engine.",getString(cell).c_str()) << endl;
|
||||
|
||||
pyMauka = PyObject_NEW ( PyMaukaEngine, &PyTypeMaukaEngine );
|
||||
if ( pyMauka == NULL ) return NULL;
|
||||
|
||||
pyMauka->_object = mauka;
|
||||
HCATCH
|
||||
|
||||
return (PyObject*)pyMauka;
|
||||
}
|
||||
// +=================================================================+
|
||||
|
||||
|
||||
// Link/Creation Method.
|
||||
PyTypeObjectDefinitions(MaukaEngine)
|
||||
PyTypeInheritedObjectDefinitions(MaukaEngine,PyToolEngine)
|
||||
DBoLinkCreateMethod(MaukaEngine)
|
||||
|
||||
|
||||
#endif // End of Shared Library Code Part.
|
||||
|
|
|
@ -2,26 +2,17 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
// | Author : Jean-Paul Chaput |
|
||||
// | E-mail : Jean-Paul.Chaput@lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Header : "./GraphicMaukaEngine.h" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
|
||||
// | C++ Header : "./mauka/GraphicMaukaEngine.h" |
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#ifndef __MAUKA_GRAPHIC_MAUKA_ENGINE__
|
||||
|
@ -38,7 +29,6 @@ namespace Hurricane {
|
|||
}
|
||||
|
||||
#include "crlcore/GraphicToolEngine.h"
|
||||
|
||||
#include "mauka/MaukaEngine.h"
|
||||
|
||||
|
||||
|
|
|
@ -2,25 +2,16 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
// Copyright (c) UPMC/LIP6 2006-2012, All Rights Reserved
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
// | Author : Christophe Alexandre |
|
||||
// | E-mail : Christophe.Alexandre@lip6.fr |
|
||||
// | Date : 19/07/2006 |
|
||||
// | E-mail : Jean-Paul.Chaput@lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Header : "./MaukaEngine.h" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// | C++ Header : "./mauka/MaukaEngine.h" |
|
||||
// x-----------------------------------------------------------------x
|
||||
|
||||
|
||||
|
@ -92,6 +83,7 @@ namespace Mauka {
|
|||
static const Name& staticGetName ();
|
||||
virtual const Name& getName () const;
|
||||
inline Configuration* getConfiguration () const;
|
||||
inline void printConfiguration () const;
|
||||
inline const FeedCells& getFeedCells () const;
|
||||
inline DbU::Unit getPitch () const;
|
||||
inline DbU::Unit getSliceHeight () const;
|
||||
|
@ -153,6 +145,7 @@ namespace Mauka {
|
|||
|
||||
// Inline Methods.
|
||||
inline Configuration* MaukaEngine::getConfiguration () const { return _configuration; }
|
||||
inline void MaukaEngine::printConfiguration () const { _configuration->print(getCell()); }
|
||||
inline const FeedCells& MaukaEngine::getFeedCells () const { return _feedCells; }
|
||||
inline DbU::Unit MaukaEngine::getPitch () const { return _configuration->getPitch(); }
|
||||
inline DbU::Unit MaukaEngine::getSliceHeight () const { return _configuration->getSliceHeight(); }
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | Alliance / Hurricane Interface |
|
||||
// | |
|
||||
// | Author : Damien DUPUIS |
|
||||
// | E-mail : Jean-Paul.Chaput@lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Header : "./mauka/PyGraphicMaukaEngine.h" |
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#ifndef __MAUKA_PY_GRAPHIC_MAUKA_ENGINE__
|
||||
#define __MAUKA_PY_GRAPHIC_MAUKA_ENGINE__
|
||||
|
||||
#include "crlcore/PyGraphicToolEngine.h"
|
||||
#include "mauka/GraphicMaukaEngine.h"
|
||||
|
||||
|
||||
namespace Mauka {
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Python Object : "PyGraphicMaukaEngine".
|
||||
|
||||
typedef struct {
|
||||
CRL::PyGraphicTool _baseObject;
|
||||
} PyGraphicMaukaEngine;
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Functions & Types exported to "PyMauka.ccp".
|
||||
|
||||
extern PyTypeObject PyTypeGraphicMaukaEngine;
|
||||
extern PyMethodDef PyGraphicMaukaEngine_Methods[];
|
||||
|
||||
extern void PyGraphicMaukaEngine_LinkPyType ();
|
||||
|
||||
|
||||
#define IsPyGraphicMaukaEngine(v) ( (v)->ob_type == &PyTypeGraphicMaukaEngine )
|
||||
#define PY_GRAPHIC_MAUKA_ENGINE(v) ( (PyGraphicMaukaEngine*)(v) )
|
||||
#define PY_GRAPHIC_MAUKA_ENGINE_O(v) ( PY_GRAPHIC_MAUKA_ENGINE(v)->_baseObject.object )
|
||||
|
||||
|
||||
} // End of extern "C".
|
||||
|
||||
} // Mauka namespace.
|
||||
|
||||
#endif // __MAUKA_PY_GRAPHIC_MAUKA_ENGINE__
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2010-2012, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | M a u k a - P l a c e r |
|
||||
// | |
|
||||
|
@ -17,16 +12,14 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Header : "./PyMaukaEngine.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#ifndef __PY_MAUKA_ENGINE__
|
||||
#define __PY_MAUKA_ENGINE__
|
||||
|
||||
#include "hurricane/isobar/PyHurricane.h"
|
||||
#include "crlcore/PyToolEngine.h"
|
||||
#include "mauka/MaukaEngine.h"
|
||||
|
||||
|
||||
|
@ -40,8 +33,7 @@ extern "C" {
|
|||
// Python Object : "PyMaukaEngine".
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
Mauka::MaukaEngine* _object;
|
||||
CRL::PyToolEngine _baseObject;
|
||||
} PyMaukaEngine;
|
||||
|
||||
|
||||
|
@ -51,15 +43,13 @@ extern "C" {
|
|||
extern PyTypeObject PyTypeMaukaEngine;
|
||||
extern PyMethodDef PyMaukaEngine_Methods[];
|
||||
|
||||
extern PyObject* PyMaukaEngine_get ( PyObject* module, PyObject* args );
|
||||
extern PyObject* PyMaukaEngine_create ( PyObject* module, PyObject* args );
|
||||
extern PyObject* PyMaukaEngine_Link ( Mauka::MaukaEngine* );
|
||||
extern void PyMaukaEngine_LinkPyType ();
|
||||
extern PyObject* PyMaukaEngine_Link ( Mauka::MaukaEngine* );
|
||||
extern void PyMaukaEngine_LinkPyType ();
|
||||
|
||||
|
||||
#define IsPyMaukaEngine(v) ( (v)->ob_type == &PyTypeMaukaEngine )
|
||||
#define PYMAUKAENGINE(v) ( (PyMaukaEngine*)(v) )
|
||||
#define PYMAUKAENGINE_O(v) ( PYALLIANCEFRAMEWORK(v)->_object )
|
||||
#define PYMAUKAENGINE_O(v) ( PYMAUKAENGINE(v)->_baseObject._object )
|
||||
|
||||
|
||||
} // End of extern "C".
|
||||
|
|
Loading…
Reference in New Issue