text: // Generated by Haxe 4.0.0-preview.5
  #include <hxcpp.h>
  
  #ifndef INCLUDED_nape_phys_Material
  #include <hxinc/nape/phys/Material.h>
  #endif
  #ifndef INCLUDED_nape_shape_ShapeList
  #include <hxinc/nape/shape/ShapeList.h>
  #endif
  #ifndef INCLUDED_zpp_nape_phys_ZPP_Interactor
  #include <hxinc/zpp_nape/phys/ZPP_Interactor.h>
  #endif
  #ifndef INCLUDED_zpp_nape_phys_ZPP_Material
  #include <hxinc/zpp_nape/phys/ZPP_Material.h>
  #endif
  #ifndef INCLUDED_zpp_nape_shape_ZPP_Shape
  #include <hxinc/zpp_nape/shape/ZPP_Shape.h>
  #endif
  #ifndef INCLUDED_zpp_nape_util_ZNPList_ZPP_Shape
  #include <hxinc/zpp_nape/util/ZNPList_ZPP_Shape.h>
  #endif
  #ifndef INCLUDED_zpp_nape_util_ZNPNode_ZPP_Shape
  #include <hxinc/zpp_nape/util/ZNPNode_ZPP_Shape.h>
  #endif
  
  HX_DEFINE_STACK_FRAME(_hx_pos_825109737d9494eb_174_new,"zpp_nape.phys.ZPP_Material","new",0x1f6d8179,"zpp_nape.phys.ZPP_Material.new","zpp_nape/phys/Material.hx",174,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_202_wrapper,"zpp_nape.phys.ZPP_Material","wrapper",0x7eaf86ec,"zpp_nape.phys.ZPP_Material.wrapper","zpp_nape/phys/Material.hx",202,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_229_free,"zpp_nape.phys.ZPP_Material","free",0x5b23e173,"zpp_nape.phys.ZPP_Material.free","zpp_nape/phys/Material.hx",229,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_233_alloc,"zpp_nape.phys.ZPP_Material","alloc",0x7f4e8dce,"zpp_nape.phys.ZPP_Material.alloc","zpp_nape/phys/Material.hx",233,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_239_feature_cons,"zpp_nape.phys.ZPP_Material","feature_cons",0x750d3321,"zpp_nape.phys.ZPP_Material.feature_cons","zpp_nape/phys/Material.hx",239,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_244_addShape,"zpp_nape.phys.ZPP_Material","addShape",0xa58abd87,"zpp_nape.phys.ZPP_Material.addShape","zpp_nape/phys/Material.hx",244,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_249_remShape,"zpp_nape.phys.ZPP_Material","remShape",0x34b007ae,"zpp_nape.phys.ZPP_Material.remShape","zpp_nape/phys/Material.hx",249,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_264_copy,"zpp_nape.phys.ZPP_Material","copy",0x5926007c,"zpp_nape.phys.ZPP_Material.copy","zpp_nape/phys/Material.hx",264,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_273_set,"zpp_nape.phys.ZPP_Material","set",0x1f714cbb,"zpp_nape.phys.ZPP_Material.set","zpp_nape/phys/Material.hx",273,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_285_invalidate,"zpp_nape.phys.ZPP_Material","invalidate",0xe405ad82,"zpp_nape.phys.ZPP_Material.invalidate","zpp_nape/phys/Material.hx",285,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_176_boot,"zpp_nape.phys.ZPP_Material","boot",0x587cc8f9,"zpp_nape.phys.ZPP_Material.boot","zpp_nape/phys/Material.hx",176,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_280_boot,"zpp_nape.phys.ZPP_Material","boot",0x587cc8f9,"zpp_nape.phys.ZPP_Material.boot","zpp_nape/phys/Material.hx",280,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_281_boot,"zpp_nape.phys.ZPP_Material","boot",0x587cc8f9,"zpp_nape.phys.ZPP_Material.boot","zpp_nape/phys/Material.hx",281,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_282_boot,"zpp_nape.phys.ZPP_Material","boot",0x587cc8f9,"zpp_nape.phys.ZPP_Material.boot","zpp_nape/phys/Material.hx",282,0x3ab51b5c)
  HX_LOCAL_STACK_FRAME(_hx_pos_825109737d9494eb_283_boot,"zpp_nape.phys.ZPP_Material","boot",0x587cc8f9,"zpp_nape.phys.ZPP_Material.boot","zpp_nape/phys/Material.hx",283,0x3ab51b5c)
  namespace zpp_nape{
  namespace phys{
  
  void ZPP_Material_obj::__construct(){
              	HX_GC_STACKFRAME(&_hx_pos_825109737d9494eb_174_new)
  HXLINE( 255)		this->rollingFriction = ((Float)0.0);
  HXLINE( 254)		this->elasticity = ((Float)0.0);
  HXLINE( 253)		this->density = ((Float)0.0);
  HXLINE( 252)		this->staticFriction = ((Float)0.0);
  HXLINE( 251)		this->dynamicFriction = ((Float)0.0);
  HXLINE( 235)		this->wrap_shapes = null();
  HXLINE( 234)		this->shapes = null();
  HXLINE( 201)		this->outer = null();
  HXLINE( 200)		this->userData = null();
  HXLINE( 175)		this->next = null();
  HXLINE( 257)		this->shapes =  ::zpp_nape::util::ZNPList_ZPP_Shape_obj::__alloc( HX_CTX );
  HXLINE( 258)		this->elasticity = ( (Float)(0) );
  HXLINE( 259)		this->dynamicFriction = ( (Float)(1) );
  HXLINE( 260)		this->staticFriction = ( (Float)(2) );
  HXLINE( 261)		this->density = ((Float)0.001);
  HXLINE( 262)		this->rollingFriction = ((Float)0.01);
              	}
  
  Dynamic ZPP_Material_obj::__CreateEmpty() { return new ZPP_Material_obj; }
  
  void *ZPP_Material_obj::_hx_vtable = 0;
  
  Dynamic ZPP_Material_obj::__Create(hx::DynamicArray inArgs)
  {
  	hx::ObjectPtr< ZPP_Material_obj > _hx_result = new ZPP_Material_obj();
  	_hx_result->__construct();
  	return _hx_result;
  }
  
  bool ZPP_Material_obj::_hx_isInstanceOf(int inClassId) {
  	return inClassId==(int)0x00000001 || inClassId==(int)0x120514eb;
  }
  
   ::nape::phys::Material ZPP_Material_obj::wrapper(){
              	HX_GC_STACKFRAME(&_hx_pos_825109737d9494eb_202_wrapper)
  HXLINE( 203)		if (hx::IsNull( this->outer )) {
  HXLINE( 204)			this->outer =  ::nape::phys::Material_obj::__alloc( HX_CTX ,null(),null(),null(),null(),null());
  HXLINE( 205)			{
  HXLINE( 206)				 ::zpp_nape::phys::ZPP_Material o = this->outer->zpp_inner;
  HXLINE( 215)				o->outer = null();
  HXLINE( 216)				o->next = ::zpp_nape::phys::ZPP_Material_obj::zpp_pool;
  HXLINE( 217)				::zpp_nape::phys::ZPP_Material_obj::zpp_pool = o;
              			}
  HXLINE( 222)			this->outer->zpp_inner = hx::ObjectPtr<OBJ_>(this);
              		}
  HXLINE( 224)		return this->outer;
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC0(ZPP_Material_obj,wrapper,return )
  
  void ZPP_Material_obj::free(){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_229_free)
  HXDLIN( 229)		this->outer = null();
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC0(ZPP_Material_obj,free,(void))
  
  void ZPP_Material_obj::alloc(){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_233_alloc)
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC0(ZPP_Material_obj,alloc,(void))
  
  void ZPP_Material_obj::feature_cons(){
              	HX_GC_STACKFRAME(&_hx_pos_825109737d9494eb_239_feature_cons)
  HXDLIN( 239)		this->shapes =  ::zpp_nape::util::ZNPList_ZPP_Shape_obj::__alloc( HX_CTX );
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC0(ZPP_Material_obj,feature_cons,(void))
  
  void ZPP_Material_obj::addShape( ::zpp_nape::shape::ZPP_Shape shape){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_244_addShape)
  HXDLIN( 244)		this->shapes->add(shape);
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC1(ZPP_Material_obj,addShape,(void))
  
  void ZPP_Material_obj::remShape( ::zpp_nape::shape::ZPP_Shape shape){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_249_remShape)
  HXDLIN( 249)		this->shapes->remove(shape);
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC1(ZPP_Material_obj,remShape,(void))
  
   ::zpp_nape::phys::ZPP_Material ZPP_Material_obj::copy(){
              	HX_GC_STACKFRAME(&_hx_pos_825109737d9494eb_264_copy)
  HXLINE( 265)		 ::zpp_nape::phys::ZPP_Material ret =  ::zpp_nape::phys::ZPP_Material_obj::__alloc( HX_CTX );
  HXLINE( 266)		ret->dynamicFriction = this->dynamicFriction;
  HXLINE( 267)		ret->staticFriction = this->staticFriction;
  HXLINE( 268)		ret->density = this->density;
  HXLINE( 269)		ret->elasticity = this->elasticity;
  HXLINE( 270)		ret->rollingFriction = this->rollingFriction;
  HXLINE( 271)		return ret;
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC0(ZPP_Material_obj,copy,return )
  
  void ZPP_Material_obj::set( ::zpp_nape::phys::ZPP_Material x){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_273_set)
  HXLINE( 274)		this->dynamicFriction = x->dynamicFriction;
  HXLINE( 275)		this->staticFriction = x->staticFriction;
  HXLINE( 276)		this->density = x->density;
  HXLINE( 277)		this->elasticity = x->elasticity;
  HXLINE( 278)		this->rollingFriction = x->rollingFriction;
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC1(ZPP_Material_obj,set,(void))
  
  void ZPP_Material_obj::invalidate(int x){
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_285_invalidate)
  HXLINE( 286)		 ::zpp_nape::util::ZNPNode_ZPP_Shape cx_ite = this->shapes->head;
  HXLINE( 287)		while(hx::IsNotNull( cx_ite )){
  HXLINE( 288)			 ::zpp_nape::shape::ZPP_Shape s = cx_ite->elt;
  HXLINE( 289)			s->invalidate_material(x);
  HXLINE( 290)			cx_ite = cx_ite->next;
              		}
              	}
  
  
  HX_DEFINE_DYNAMIC_FUNC1(ZPP_Material_obj,invalidate,(void))
  
   ::zpp_nape::phys::ZPP_Material ZPP_Material_obj::zpp_pool;
  
  int ZPP_Material_obj::WAKE;
  
  int ZPP_Material_obj::PROPS;
  
  int ZPP_Material_obj::ANGDRAG;
  
  int ZPP_Material_obj::ARBITERS;
  
  
  hx::ObjectPtr< ZPP_Material_obj > ZPP_Material_obj::__new() {
  	hx::ObjectPtr< ZPP_Material_obj > __this = new ZPP_Material_obj();
  	__this->__construct();
  	return __this;
  }
  
  hx::ObjectPtr< ZPP_Material_obj > ZPP_Material_obj::__alloc(hx::Ctx *_hx_ctx) {
  	ZPP_Material_obj *__this = (ZPP_Material_obj*)(hx::Ctx::alloc(_hx_ctx, sizeof(ZPP_Material_obj), true, "zpp_nape.phys.ZPP_Material"));
  	*(void **)__this = ZPP_Material_obj::_hx_vtable;
  	__this->__construct();
  	return __this;
  }
  
  ZPP_Material_obj::ZPP_Material_obj()
  {
  }
  
  void ZPP_Material_obj::__Mark(HX_MARK_PARAMS)
  {
  	HX_MARK_BEGIN_CLASS(ZPP_Material);
  	HX_MARK_MEMBER_NAME(next,"next");
  	HX_MARK_MEMBER_NAME(userData,"userData");
  	HX_MARK_MEMBER_NAME(outer,"outer");
  	HX_MARK_MEMBER_NAME(shapes,"shapes");
  	HX_MARK_MEMBER_NAME(wrap_shapes,"wrap_shapes");
  	HX_MARK_MEMBER_NAME(dynamicFriction,"dynamicFriction");
  	HX_MARK_MEMBER_NAME(staticFriction,"staticFriction");
  	HX_MARK_MEMBER_NAME(density,"density");
  	HX_MARK_MEMBER_NAME(elasticity,"elasticity");
  	HX_MARK_MEMBER_NAME(rollingFriction,"rollingFriction");
  	HX_MARK_END_CLASS();
  }
  
  void ZPP_Material_obj::__Visit(HX_VISIT_PARAMS)
  {
  	HX_VISIT_MEMBER_NAME(next,"next");
  	HX_VISIT_MEMBER_NAME(userData,"userData");
  	HX_VISIT_MEMBER_NAME(outer,"outer");
  	HX_VISIT_MEMBER_NAME(shapes,"shapes");
  	HX_VISIT_MEMBER_NAME(wrap_shapes,"wrap_shapes");
  	HX_VISIT_MEMBER_NAME(dynamicFriction,"dynamicFriction");
  	HX_VISIT_MEMBER_NAME(staticFriction,"staticFriction");
  	HX_VISIT_MEMBER_NAME(density,"density");
  	HX_VISIT_MEMBER_NAME(elasticity,"elasticity");
  	HX_VISIT_MEMBER_NAME(rollingFriction,"rollingFriction");
  }
  
  hx::Val ZPP_Material_obj::__Field(const ::String &inName,hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 3:
  		if (HX_FIELD_EQ(inName,"set") ) { return hx::Val( set_dyn() ); }
  		break;
  	case 4:
  		if (HX_FIELD_EQ(inName,"next") ) { return hx::Val( next ); }
  		if (HX_FIELD_EQ(inName,"free") ) { return hx::Val( free_dyn() ); }
  		if (HX_FIELD_EQ(inName,"copy") ) { return hx::Val( copy_dyn() ); }
  		break;
  	case 5:
  		if (HX_FIELD_EQ(inName,"outer") ) { return hx::Val( outer ); }
  		if (HX_FIELD_EQ(inName,"alloc") ) { return hx::Val( alloc_dyn() ); }
  		break;
  	case 6:
  		if (HX_FIELD_EQ(inName,"shapes") ) { return hx::Val( shapes ); }
  		break;
  	case 7:
  		if (HX_FIELD_EQ(inName,"wrapper") ) { return hx::Val( wrapper_dyn() ); }
  		if (HX_FIELD_EQ(inName,"density") ) { return hx::Val( density ); }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"userData") ) { return hx::Val( userData ); }
  		if (HX_FIELD_EQ(inName,"addShape") ) { return hx::Val( addShape_dyn() ); }
  		if (HX_FIELD_EQ(inName,"remShape") ) { return hx::Val( remShape_dyn() ); }
  		break;
  	case 10:
  		if (HX_FIELD_EQ(inName,"elasticity") ) { return hx::Val( elasticity ); }
  		if (HX_FIELD_EQ(inName,"invalidate") ) { return hx::Val( invalidate_dyn() ); }
  		break;
  	case 11:
  		if (HX_FIELD_EQ(inName,"wrap_shapes") ) { return hx::Val( wrap_shapes ); }
  		break;
  	case 12:
  		if (HX_FIELD_EQ(inName,"feature_cons") ) { return hx::Val( feature_cons_dyn() ); }
  		break;
  	case 14:
  		if (HX_FIELD_EQ(inName,"staticFriction") ) { return hx::Val( staticFriction ); }
  		break;
  	case 15:
  		if (HX_FIELD_EQ(inName,"dynamicFriction") ) { return hx::Val( dynamicFriction ); }
  		if (HX_FIELD_EQ(inName,"rollingFriction") ) { return hx::Val( rollingFriction ); }
  	}
  	return super::__Field(inName,inCallProp);
  }
  
  bool ZPP_Material_obj::__GetStatic(const ::String &inName, Dynamic &outValue, hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"WAKE") ) { outValue = ( WAKE ); return true; }
  		break;
  	case 5:
  		if (HX_FIELD_EQ(inName,"PROPS") ) { outValue = ( PROPS ); return true; }
  		break;
  	case 7:
  		if (HX_FIELD_EQ(inName,"ANGDRAG") ) { outValue = ( ANGDRAG ); return true; }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"zpp_pool") ) { outValue = ( zpp_pool ); return true; }
  		if (HX_FIELD_EQ(inName,"ARBITERS") ) { outValue = ( ARBITERS ); return true; }
  	}
  	return false;
  }
  
  hx::Val ZPP_Material_obj::__SetField(const ::String &inName,const hx::Val &inValue,hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"next") ) { next=inValue.Cast<  ::zpp_nape::phys::ZPP_Material >(); return inValue; }
  		break;
  	case 5:
  		if (HX_FIELD_EQ(inName,"outer") ) { outer=inValue.Cast<  ::nape::phys::Material >(); return inValue; }
  		break;
  	case 6:
  		if (HX_FIELD_EQ(inName,"shapes") ) { shapes=inValue.Cast<  ::zpp_nape::util::ZNPList_ZPP_Shape >(); return inValue; }
  		break;
  	case 7:
  		if (HX_FIELD_EQ(inName,"density") ) { density=inValue.Cast< Float >(); return inValue; }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"userData") ) { userData=inValue.Cast<  ::Dynamic >(); return inValue; }
  		break;
  	case 10:
  		if (HX_FIELD_EQ(inName,"elasticity") ) { elasticity=inValue.Cast< Float >(); return inValue; }
  		break;
  	case 11:
  		if (HX_FIELD_EQ(inName,"wrap_shapes") ) { wrap_shapes=inValue.Cast<  ::nape::shape::ShapeList >(); return inValue; }
  		break;
  	case 14:
  		if (HX_FIELD_EQ(inName,"staticFriction") ) { staticFriction=inValue.Cast< Float >(); return inValue; }
  		break;
  	case 15:
  		if (HX_FIELD_EQ(inName,"dynamicFriction") ) { dynamicFriction=inValue.Cast< Float >(); return inValue; }
  		if (HX_FIELD_EQ(inName,"rollingFriction") ) { rollingFriction=inValue.Cast< Float >(); return inValue; }
  	}
  	return super::__SetField(inName,inValue,inCallProp);
  }
  
  bool ZPP_Material_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,hx::PropertyAccess inCallProp)
  {
  	switch(inName.length) {
  	case 4:
  		if (HX_FIELD_EQ(inName,"WAKE") ) { WAKE=ioValue.Cast< int >(); return true; }
  		break;
  	case 5:
  		if (HX_FIELD_EQ(inName,"PROPS") ) { PROPS=ioValue.Cast< int >(); return true; }
  		break;
  	case 7:
  		if (HX_FIELD_EQ(inName,"ANGDRAG") ) { ANGDRAG=ioValue.Cast< int >(); return true; }
  		break;
  	case 8:
  		if (HX_FIELD_EQ(inName,"zpp_pool") ) { zpp_pool=ioValue.Cast<  ::zpp_nape::phys::ZPP_Material >(); return true; }
  		if (HX_FIELD_EQ(inName,"ARBITERS") ) { ARBITERS=ioValue.Cast< int >(); return true; }
  	}
  	return false;
  }
  
  void ZPP_Material_obj::__GetFields(Array< ::String> &outFields)
  {
  	outFields->push(HX_("next",f3,84,02,49));
  	outFields->push(HX_("userData",15,96,28,05));
  	outFields->push(HX_("outer",7b,b8,28,37));
  	outFields->push(HX_("shapes",32,da,29,1d));
  	outFields->push(HX_("wrap_shapes",47,df,b8,07));
  	outFields->push(HX_("dynamicFriction",99,eb,8a,da));
  	outFields->push(HX_("staticFriction",c8,6f,c8,40));
  	outFields->push(HX_("density",e8,3f,d5,42));
  	outFields->push(HX_("elasticity",79,23,b4,4d));
  	outFields->push(HX_("rollingFriction",9f,6f,01,b7));
  	super::__GetFields(outFields);
  };
  
  #ifdef HXCPP_SCRIPTABLE
  static hx::StorageInfo ZPP_Material_obj_sMemberStorageInfo[] = {
  	{hx::fsObject /*  ::zpp_nape::phys::ZPP_Material */ ,(int)offsetof(ZPP_Material_obj,next),HX_("next",f3,84,02,49)},
  	{hx::fsObject /*  ::Dynamic */ ,(int)offsetof(ZPP_Material_obj,userData),HX_("userData",15,96,28,05)},
  	{hx::fsObject /*  ::nape::phys::Material */ ,(int)offsetof(ZPP_Material_obj,outer),HX_("outer",7b,b8,28,37)},
  	{hx::fsObject /*  ::zpp_nape::util::ZNPList_ZPP_Shape */ ,(int)offsetof(ZPP_Material_obj,shapes),HX_("shapes",32,da,29,1d)},
  	{hx::fsObject /*  ::nape::shape::ShapeList */ ,(int)offsetof(ZPP_Material_obj,wrap_shapes),HX_("wrap_shapes",47,df,b8,07)},
  	{hx::fsFloat,(int)offsetof(ZPP_Material_obj,dynamicFriction),HX_("dynamicFriction",99,eb,8a,da)},
  	{hx::fsFloat,(int)offsetof(ZPP_Material_obj,staticFriction),HX_("staticFriction",c8,6f,c8,40)},
  	{hx::fsFloat,(int)offsetof(ZPP_Material_obj,density),HX_("density",e8,3f,d5,42)},
  	{hx::fsFloat,(int)offsetof(ZPP_Material_obj,elasticity),HX_("elasticity",79,23,b4,4d)},
  	{hx::fsFloat,(int)offsetof(ZPP_Material_obj,rollingFriction),HX_("rollingFriction",9f,6f,01,b7)},
  	{ hx::fsUnknown, 0, null()}
  };
  static hx::StaticInfo ZPP_Material_obj_sStaticStorageInfo[] = {
  	{hx::fsObject /*  ::zpp_nape::phys::ZPP_Material */ ,(void *) &ZPP_Material_obj::zpp_pool,HX_("zpp_pool",81,5d,d4,38)},
  	{hx::fsInt,(void *) &ZPP_Material_obj::WAKE,HX_("WAKE",24,24,b3,39)},
  	{hx::fsInt,(void *) &ZPP_Material_obj::PROPS,HX_("PROPS",50,1f,7e,46)},
  	{hx::fsInt,(void *) &ZPP_Material_obj::ANGDRAG,HX_("ANGDRAG",ae,6f,6d,cd)},
  	{hx::fsInt,(void *) &ZPP_Material_obj::ARBITERS,HX_("ARBITERS",6a,bc,37,7b)},
  	{ hx::fsUnknown, 0, null()}
  };
  #endif
  
  static ::String ZPP_Material_obj_sMemberFields[] = {
  	HX_("next",f3,84,02,49),
  	HX_("userData",15,96,28,05),
  	HX_("outer",7b,b8,28,37),
  	HX_("wrapper",53,d5,64,0d),
  	HX_("free",ac,9c,c2,43),
  	HX_("alloc",75,a4,93,21),
  	HX_("shapes",32,da,29,1d),
  	HX_("wrap_shapes",47,df,b8,07),
  	HX_("feature_cons",5a,4f,1f,7b),
  	HX_("addShape",40,09,7a,f5),
  	HX_("remShape",67,53,9f,84),
  	HX_("dynamicFriction",99,eb,8a,da),
  	HX_("staticFriction",c8,6f,c8,40),
  	HX_("density",e8,3f,d5,42),
  	HX_("elasticity",79,23,b4,4d),
  	HX_("rollingFriction",9f,6f,01,b7),
  	HX_("copy",b5,bb,c4,41),
  	HX_("set",a2,9b,57,00),
  	HX_("invalidate",7b,19,2a,87),
  	::String(null()) };
  
  static void ZPP_Material_obj_sMarkStatics(HX_MARK_PARAMS) {
  	HX_MARK_MEMBER_NAME(ZPP_Material_obj::zpp_pool,"zpp_pool");
  	HX_MARK_MEMBER_NAME(ZPP_Material_obj::WAKE,"WAKE");
  	HX_MARK_MEMBER_NAME(ZPP_Material_obj::PROPS,"PROPS");
  	HX_MARK_MEMBER_NAME(ZPP_Material_obj::ANGDRAG,"ANGDRAG");
  	HX_MARK_MEMBER_NAME(ZPP_Material_obj::ARBITERS,"ARBITERS");
  };
  
  #ifdef HXCPP_VISIT_ALLOCS
  static void ZPP_Material_obj_sVisitStatics(HX_VISIT_PARAMS) {
  	HX_VISIT_MEMBER_NAME(ZPP_Material_obj::zpp_pool,"zpp_pool");
  	HX_VISIT_MEMBER_NAME(ZPP_Material_obj::WAKE,"WAKE");
  	HX_VISIT_MEMBER_NAME(ZPP_Material_obj::PROPS,"PROPS");
  	HX_VISIT_MEMBER_NAME(ZPP_Material_obj::ANGDRAG,"ANGDRAG");
  	HX_VISIT_MEMBER_NAME(ZPP_Material_obj::ARBITERS,"ARBITERS");
  };
  
  #endif
  
  hx::Class ZPP_Material_obj::__mClass;
  
  static ::String ZPP_Material_obj_sStaticFields[] = {
  	HX_("zpp_pool",81,5d,d4,38),
  	HX_("WAKE",24,24,b3,39),
  	HX_("PROPS",50,1f,7e,46),
  	HX_("ANGDRAG",ae,6f,6d,cd),
  	HX_("ARBITERS",6a,bc,37,7b),
  	::String(null())
  };
  
  void ZPP_Material_obj::__register()
  {
  	ZPP_Material_obj _hx_dummy;
  	ZPP_Material_obj::_hx_vtable = *(void **)&_hx_dummy;
  	hx::Static(__mClass) = new hx::Class_obj();
  	__mClass->mName = HX_("zpp_nape.phys.ZPP_Material",07,51,67,c4);
  	__mClass->mSuper = &super::__SGetClass();
  	__mClass->mConstructEmpty = &__CreateEmpty;
  	__mClass->mConstructArgs = &__Create;
  	__mClass->mGetStaticField = &ZPP_Material_obj::__GetStatic;
  	__mClass->mSetStaticField = &ZPP_Material_obj::__SetStatic;
  	__mClass->mMarkFunc = ZPP_Material_obj_sMarkStatics;
  	__mClass->mStatics = hx::Class_obj::dupFunctions(ZPP_Material_obj_sStaticFields);
  	__mClass->mMembers = hx::Class_obj::dupFunctions(ZPP_Material_obj_sMemberFields);
  	__mClass->mCanCast = hx::TCanCast< ZPP_Material_obj >;
  #ifdef HXCPP_VISIT_ALLOCS
  	__mClass->mVisitFunc = ZPP_Material_obj_sVisitStatics;
  #endif
  #ifdef HXCPP_SCRIPTABLE
  	__mClass->mMemberStorageInfo = ZPP_Material_obj_sMemberStorageInfo;
  #endif
  #ifdef HXCPP_SCRIPTABLE
  	__mClass->mStaticStorageInfo = ZPP_Material_obj_sStaticStorageInfo;
  #endif
  	hx::_hx_RegisterClass(__mClass->mName, __mClass);
  }
  
  void ZPP_Material_obj::__boot()
  {
  {
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_176_boot)
  HXDLIN( 176)		zpp_pool = null();
              	}
  {
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_280_boot)
  HXDLIN( 280)		WAKE = 1;
              	}
  {
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_281_boot)
  HXDLIN( 281)		PROPS = 2;
              	}
  {
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_282_boot)
  HXDLIN( 282)		ANGDRAG = 4;
              	}
  {
              	HX_STACKFRAME(&_hx_pos_825109737d9494eb_283_boot)
  HXDLIN( 283)		ARBITERS = 8;
              	}
  }
  
  } // end namespace zpp_nape
  } // end namespace phys
  