Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

StyleRepository3DF.h
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);