#ifdef __cplusplus
extern "C" {
#endif

#pragma once


#include "HROOT-grafType.h"

#include "HROOTGrafTShape.h"

#include "HROOTCoreTNamed.h"

#include "HROOTCoreTAttLine.h"

#include "HROOTCoreTAttFill.h"

#include "HROOTCoreTAtt3D.h"

#include "HROOTCoreTObject.h"

#include "STDDeletable.h"


#define TTUBE_DECL_VIRT(Type) \



#define TTUBE_DECL_NONVIRT(Type) \
Type##_p Type##_newTTUBE ( const char* name, const char* title, const char* material, float rmin, float rmax, float dz, float aspect );


#define TTUBE_DECL_ACCESSOR(Type) \



#define TTUBE_DEF_VIRT(Type) \



#define TTUBE_DEF_NONVIRT(Type) \
Type##_p Type##_newTTUBE ( const char* name, const char* title, const char* material, float rmin, float rmax, float dz, float aspect ) {\
Type* newp=new Type(name, title, material, rmin, rmax, dz, aspect);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\
}


#define TTUBE_DEF_ACCESSOR(Type) \



TSHAPE_DECL_VIRT(TTUBE)
TNAMED_DECL_VIRT(TTUBE)
TATTLINE_DECL_VIRT(TTUBE)
TATTFILL_DECL_VIRT(TTUBE)
TATT3D_DECL_VIRT(TTUBE)
TOBJECT_DECL_VIRT(TTUBE)
DELETABLE_DECL_VIRT(TTUBE)
TTUBE_DECL_VIRT(TTUBE)
TTUBE_DECL_NONVIRT(TTUBE)
TTUBE_DECL_ACCESSOR(TTUBE)

#ifdef __cplusplus
}
#endif