// This source file is part of HGamer3D
// (A project to enable 3D game development in Haskell)
// For the latest info, see http://www.althainz.de/HGamer3D.html
//
// Copyright 2011 Dr. Peter Althainz
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ClassEntity.h
//
//
//
//
// File for type, method, enum or function stubs
// in: "..\OgreSDK_vc10_v1-7-3\include\OGRE\OgreEntity.h"
//
// each stub combines the following files:
// a C++ implementation file, transforming cpp calls into C-functions
// a C-header file, making this C-functions available for the C2HS parser
// a chs file, give instructions to the C2HS parser.
//
//
#include "wchar.h"
#include "ClassPtr.h"
#include "Utils.h"
#include "EnumVertexDataBindChoice.h"
// original function: SubEntity* getSubEntity(unsigned int index);
void cE_getSubEntity_c(struct hg3dclass_struct *classptr_c, unsigned int index_c, struct hg3dclass_struct * result_c);
// original function: SubEntity* getSubEntity(const String& name);
void cE_getSubEntity2_c(struct hg3dclass_struct *classptr_c, char * name_c, struct hg3dclass_struct * result_c);
// original function: unsigned int getNumSubEntities();
void cE_getNumSubEntities_c(struct hg3dclass_struct *classptr_c, unsigned int * result_c);
// original function: Entity* clone(const String& newName);
void cE_clone_c(struct hg3dclass_struct *classptr_c, char * newName_c, struct hg3dclass_struct * result_c);
// original function: void setMaterialName(const String& name, const String& groupName);
void cE_setMaterialName_c(struct hg3dclass_struct *classptr_c, char * name_c, char * groupName_c);
// original function: void _notifyCurrentCamera(Camera* cam);
void cE__notifyCurrentCamera_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * cam_c);
// original function: const String& getMovableType();
void cE_getMovableType_c(struct hg3dclass_struct *classptr_c, char * result_c);
// original function: AnimationState* getAnimationState(const String& name);
void cE_getAnimationState_c(struct hg3dclass_struct *classptr_c, char * name_c, struct hg3dclass_struct * result_c);
// original function: void setDisplaySkeleton(bool display);
void cE_setDisplaySkeleton_c(struct hg3dclass_struct *classptr_c, int display_c);
// original function: bool getDisplaySkeleton();
void cE_getDisplaySkeleton_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: Entity* getManualLodLevel(size_t index);
void cE_getManualLodLevel_c(struct hg3dclass_struct *classptr_c, int index_c, struct hg3dclass_struct * result_c);
// original function: size_t getNumManualLodLevels();
void cE_getNumManualLodLevels_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void setPolygonModeOverrideable(bool PolygonModeOverrideable);
void cE_setPolygonModeOverrideable_c(struct hg3dclass_struct *classptr_c, int PolygonModeOverrideable_c);
// original function: MovableObject* detachObjectFromBone(const String & movableName);
void cE_detachObjectFromBone_c(struct hg3dclass_struct *classptr_c, char * movableName_c, struct hg3dclass_struct * result_c);
// original function: void detachObjectFromBone(MovableObject* obj);
void cE_detachObjectFromBone2_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * obj_c);
// original function: void detachAllObjectsFromBone();
void cE_detachAllObjectsFromBone_c(struct hg3dclass_struct *classptr_c);
// original function: Real getBoundingRadius();
void cE_getBoundingRadius_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: bool hasEdgeList();
void cE_hasEdgeList_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: unsigned short _getNumBoneMatrices();
void cE__getNumBoneMatrices_c(struct hg3dclass_struct *classptr_c, unsigned int * result_c);
// original function: bool hasSkeleton();
void cE_hasSkeleton_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: SkeletonInstance* getSkeleton();
void cE_getSkeleton_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * result_c);
// original function: bool isHardwareAnimationEnabled();
void cE_isHardwareAnimationEnabled_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void _notifyAttached(Node* parent, bool isTagPoint);
void cE__notifyAttached_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * parent_c, int isTagPoint_c);
// original function: int getSoftwareAnimationRequests();
void cE_getSoftwareAnimationRequests_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: int getSoftwareAnimationNormalsRequests();
void cE_getSoftwareAnimationNormalsRequests_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void addSoftwareAnimationRequest(bool normalsAlso);
void cE_addSoftwareAnimationRequest_c(struct hg3dclass_struct *classptr_c, int normalsAlso_c);
// original function: void removeSoftwareAnimationRequest(bool normalsAlso);
void cE_removeSoftwareAnimationRequest_c(struct hg3dclass_struct *classptr_c, int normalsAlso_c);
// original function: void shareSkeletonInstanceWith(Entity* entity);
void cE_shareSkeletonInstanceWith_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * entity_c);
// original function: bool hasVertexAnimation();
void cE_hasVertexAnimation_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void stopSharingSkeletonInstance();
void cE_stopSharingSkeletonInstance_c(struct hg3dclass_struct *classptr_c);
// original function: void refreshAvailableAnimationState();
void cE_refreshAvailableAnimationState_c(struct hg3dclass_struct *classptr_c);
// original function: void _updateAnimation();
void cE__updateAnimation_c(struct hg3dclass_struct *classptr_c);
// original function: bool _isAnimated();
void cE__isAnimated_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: bool _isSkeletonAnimated();
void cE__isSkeletonAnimated_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: TempBlendedBufferInfo* _getSkelAnimTempBufferInfo();
void cE__getSkelAnimTempBufferInfo_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * result_c);
// original function: TempBlendedBufferInfo* _getVertexAnimTempBufferInfo();
void cE__getVertexAnimTempBufferInfo_c(struct hg3dclass_struct *classptr_c, struct hg3dclass_struct * result_c);
// original function: uint32 getTypeFlags();
void cE_getTypeFlags_c(struct hg3dclass_struct *classptr_c, unsigned int * result_c);
// original function: VertexDataBindChoice chooseVertexDataForBinding(bool hasVertexAnim);
void cE_chooseVertexDataForBinding_c(struct hg3dclass_struct *classptr_c, int hasVertexAnim_c, enum EnumVertexDataBindChoice * result_c);
// original function: bool _getBuffersMarkedForAnimation();
void cE__getBuffersMarkedForAnimation_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void _markBuffersUsedForAnimation();
void cE__markBuffersUsedForAnimation_c(struct hg3dclass_struct *classptr_c);
// original function: bool isInitialised();
void cE_isInitialised_c(struct hg3dclass_struct *classptr_c, int * result_c);
// original function: void _initialise(bool forceReinitialise);
void cE__initialise_c(struct hg3dclass_struct *classptr_c, int forceReinitialise_c);
// original function: void _deinitialise();
void cE__deinitialise_c(struct hg3dclass_struct *classptr_c);
// original function: Real _getMeshLodFactorTransformed();
void cE__getMeshLodFactorTransformed_c(struct hg3dclass_struct *classptr_c, float * result_c);
// original function: void setSkipAnimationStateUpdate(bool skip);
void cE_setSkipAnimationStateUpdate_c(struct hg3dclass_struct *classptr_c, int skip_c);
// original function: bool getSkipAnimationStateUpdate();
void cE_getSkipAnimationStateUpdate_c(struct hg3dclass_struct *classptr_c, int * result_c);