Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.6 KiB

  1. //========= Copyright � 1996-2010, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef MODEL_COMBINER_H
  8. #define MODEL_COMBINER_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. // Anyone requesting model combines needs to derive from this to get completion callbacks.
  13. abstract_class IModelCombinerRequesterInterface
  14. {
  15. public:
  16. // Called when a requested model combine has finished.
  17. virtual void ModelCombineFinished( bool bSucceeded, int nCombinedModelIndex ) = 0;
  18. // The CModelCombiner will never call this. It's here to remind you that
  19. // you need to call CModelCombiner::AbortCombineModelFor() when you're deleted, so it
  20. // removes you from any pending callbacks.
  21. virtual void ModelCombineAbort( void ) = 0;
  22. };
  23. // Request a combined model to be created for the base model and the attached additional models.
  24. // The requester it must derive from IModelCombinerRequesterInterface. The ModelCombineFinished
  25. // function will be called with the result of the combine request.
  26. bool ModelCombiner_CombineModel( IModelCombinerRequesterInterface *pRequester, const char *pszBaseModel, CUtlVector<const char *> *vecAdditionalModels );
  27. bool ModelCombiner_CombineModel( IModelCombinerRequesterInterface *pRequester, const CUtlVector< SCombinerModelInput_t > &vecModelsToCombine );
  28. // Call this when you're being destroyed. It'll remove you from any pending callback lists.
  29. void ModelCombiner_AbortCombineModelFor( IModelCombinerRequesterInterface *pRequester );
  30. #endif // MODEL_COMBINER_H