public EarthView.World.Spatial3D.Atlas.Igeometry3dfactory GetFactory(ushort type)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Atlas_CGeometry3DFactoryEnum_getFactory_IGeometry3DFactory_ev_uint16(this.NativeObject, type);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial3D.Atlas.Igeometry3dfactory csObj = new EarthView.World.Spatial3D.Atlas.Igeometry3dfactory(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "IGeometry3DFactory");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial3D.Atlas.Igeometry3dfactory;
                            csObj.BindNativeObject(__ptr, "IGeometry3DFactory");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    public bool RegisterFactory(EarthView.World.Spatial3D.Atlas.Igeometry3dfactory factory)
                    {
                        byte ret = EarthView_World_Spatial3D_Atlas_CGeometry3DFactoryEnum_registerFactory_ev_bool_IGeometry3DFactory(this.NativeObject, object.Equals(factory, null) ? IntPtr.Zero : factory.NativeObject);

                        return(Convert.ToBoolean(ret));
                    }