
#ifdef __cplusplus
extern "C" {
#endif

#pragma once


#include "OGDFType.h"

#include "STDDeletable.h"

#include "OGDFLayoutModule.h"

#include "stdcxxType.h"


#define SUGIYAMALAYOUT_DECL_VIRT(Type) \



#define SUGIYAMALAYOUT_DECL_NONVIRT(Type) \
Type##_p Type##_newSugiyamaLayout (  );\
void Type##_sugiyamaLayout_pageRatio ( Type##_p p, double x );\
void Type##_sugiyamaLayout_setCrossMin ( Type##_p p, LayeredCrossMinModule_p pCrossMin );\
void Type##_sugiyamaLayout_setLayout ( Type##_p p, HierarchyLayoutModule_p pLayout );\
void Type##_sugiyamaLayout_setRanking ( Type##_p p, RankingModule_p pRanking );


#define SUGIYAMALAYOUT_DECL_ACCESSOR(Type) \



#define SUGIYAMALAYOUT_DEF_VIRT(Type) \



#define SUGIYAMALAYOUT_DEF_NONVIRT(Type) \
Type##_p Type##_newSugiyamaLayout (  ) {\
Type* newp=new Type();return from_nonconst_to_nonconst<Type##_t, Type>(newp);\
}\
\
void Type##_sugiyamaLayout_pageRatio ( Type##_p p, double x ) {\
((TYPECASTMETHOD(Type, sugiyamaLayout_pageRatio, SugiyamaLayout))(p))->pageRatio(x);\
}\
\
void Type##_sugiyamaLayout_setCrossMin ( Type##_p p, LayeredCrossMinModule_p pCrossMin ) {\
((TYPECASTMETHOD(Type, sugiyamaLayout_setCrossMin, SugiyamaLayout))(p))->setCrossMin(from_nonconst_to_nonconst<LayeredCrossMinModule, LayeredCrossMinModule_t>(pCrossMin));\
}\
\
void Type##_sugiyamaLayout_setLayout ( Type##_p p, HierarchyLayoutModule_p pLayout ) {\
((TYPECASTMETHOD(Type, sugiyamaLayout_setLayout, SugiyamaLayout))(p))->setLayout(from_nonconst_to_nonconst<HierarchyLayoutModule, HierarchyLayoutModule_t>(pLayout));\
}\
\
void Type##_sugiyamaLayout_setRanking ( Type##_p p, RankingModule_p pRanking ) {\
((TYPECASTMETHOD(Type, sugiyamaLayout_setRanking, SugiyamaLayout))(p))->setRanking(from_nonconst_to_nonconst<RankingModule, RankingModule_t>(pRanking));\
}


#define SUGIYAMALAYOUT_DEF_ACCESSOR(Type) \



DELETABLE_DECL_VIRT(SugiyamaLayout)
LAYOUTMODULE_DECL_VIRT(SugiyamaLayout)
SUGIYAMALAYOUT_DECL_VIRT(SugiyamaLayout)
SUGIYAMALAYOUT_DECL_NONVIRT(SugiyamaLayout)
SUGIYAMALAYOUT_DECL_ACCESSOR(SugiyamaLayout)

#ifdef __cplusplus
}
#endif

