
#ifdef __cplusplus
extern "C" {
#endif

#pragma once


#include "OGDFType.h"

#include "STDDeletable.h"

#include "OGDFHierarchyLayoutModule.h"

#include "stdcxxType.h"


#define FASTSIMPLEHIERARCHYLAYOUT_DECL_VIRT(Type) \



#define FASTSIMPLEHIERARCHYLAYOUT_DECL_NONVIRT(Type) \
Type##_p Type##_newFastSimpleHierarchyLayout (  );\
void Type##_fastSimpleHierarchyLayout_layerDistance ( Type##_p p, double x );\
void Type##_fastSimpleHierarchyLayout_nodeDistance ( Type##_p p, double x );\
void Type##_fastSimpleHierarchyLayout_downward ( Type##_p p, bool d );\
void Type##_fastSimpleHierarchyLayout_leftToRight ( Type##_p p, bool b );\
void Type##_fastSimpleHierarchyLayout_balanced ( Type##_p p, bool b );


#define FASTSIMPLEHIERARCHYLAYOUT_DECL_ACCESSOR(Type) \



#define FASTSIMPLEHIERARCHYLAYOUT_DEF_VIRT(Type) \



#define FASTSIMPLEHIERARCHYLAYOUT_DEF_NONVIRT(Type) \
Type##_p Type##_newFastSimpleHierarchyLayout (  ) {\
Type* newp=new Type();return from_nonconst_to_nonconst<Type##_t, Type>(newp);\
}\
\
void Type##_fastSimpleHierarchyLayout_layerDistance ( Type##_p p, double x ) {\
((TYPECASTMETHOD(Type, fastSimpleHierarchyLayout_layerDistance, FastSimpleHierarchyLayout))(p))->layerDistance(x);\
}\
\
void Type##_fastSimpleHierarchyLayout_nodeDistance ( Type##_p p, double x ) {\
((TYPECASTMETHOD(Type, fastSimpleHierarchyLayout_nodeDistance, FastSimpleHierarchyLayout))(p))->nodeDistance(x);\
}\
\
void Type##_fastSimpleHierarchyLayout_downward ( Type##_p p, bool d ) {\
((TYPECASTMETHOD(Type, fastSimpleHierarchyLayout_downward, FastSimpleHierarchyLayout))(p))->downward(d);\
}\
\
void Type##_fastSimpleHierarchyLayout_leftToRight ( Type##_p p, bool b ) {\
((TYPECASTMETHOD(Type, fastSimpleHierarchyLayout_leftToRight, FastSimpleHierarchyLayout))(p))->leftToRight(b);\
}\
\
void Type##_fastSimpleHierarchyLayout_balanced ( Type##_p p, bool b ) {\
((TYPECASTMETHOD(Type, fastSimpleHierarchyLayout_balanced, FastSimpleHierarchyLayout))(p))->balanced(b);\
}


#define FASTSIMPLEHIERARCHYLAYOUT_DEF_ACCESSOR(Type) \



DELETABLE_DECL_VIRT(FastSimpleHierarchyLayout)
HIERARCHYLAYOUTMODULE_DECL_VIRT(FastSimpleHierarchyLayout)
FASTSIMPLEHIERARCHYLAYOUT_DECL_VIRT(FastSimpleHierarchyLayout)
FASTSIMPLEHIERARCHYLAYOUT_DECL_NONVIRT(FastSimpleHierarchyLayout)
FASTSIMPLEHIERARCHYLAYOUT_DECL_ACCESSOR(FastSimpleHierarchyLayout)

#ifdef __cplusplus
}
#endif

