00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 #pragma once 00011 00012 #include "StyleRepository.h" 00013 00014 #include <hc.h> 00015 00016 class StyleRepository3DF : public StyleRepository 00017 { 00018 public: 00019 StyleRepository3DF(SegmentKey const & includeSegmentKey, 00020 TextureWriter& textureWriter, ImageRepository& imageRepository, TextureRepository& textureRepository); 00021 00022 private: 00023 StyleRepository3DF(const StyleRepository3DF&); 00024 StyleRepository3DF& operator=(const StyleRepository3DF&); 00025 00026 virtual void ApplyLineColor(SegmentKey & segment, SUColor const & color, bool usesOpacity); 00027 virtual void ApplyFaceColor(SegmentKey & segment, bool isFront, SUColor const & color, bool usesOpacity); 00028 virtual void ApplyFaceTexture(SegmentKey & segment, bool isFront, std::string const & textureName); 00029 virtual bool ImportTexture(int32_t textureId, std::size_t parameterOffset, std::string & out_textureName); 00030 00031 private: 00032 static const std::size_t s_parameterOffset = 3; 00033 00034 }; 00035 00036 bool operator==(const StyleRepository::FaceMaterialAndTextureId& op1, 00037 const StyleRepository::FaceMaterialAndTextureId& op2); 00038 bool operator<(const StyleRepository::FaceMaterialAndTextureId& op1, 00039 const StyleRepository::FaceMaterialAndTextureId& op2);