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 "TextureWriter.h" 00013 #include "ImageRepository.h" 00014 #include "StyleRepository.h" 00015 #include "VisibilityChecker.h" 00016 #include "InheritanceManager.h" 00017 00018 #include <slapi/model/entities.h> 00019 00020 class GeometryImporter 00021 { 00022 public: 00023 GeometryImporter(TextureWriter& textureWriter, ImageRepository& imageRepository, 00024 StyleRepository& styleRepository, VisibilityChecker& visibilityChecker, 00025 InheritanceManager& inheritanceManager); 00026 00027 bool Import(SUEntitiesRef& entities); 00028 00029 InheritanceManager& GetInheritanceManager() { return m_inheritanceManager; } 00030 00031 private: 00032 GeometryImporter(const GeometryImporter&); 00033 GeometryImporter& operator=(const GeometryImporter&); 00034 00035 bool ImportGeometry(SUEntitiesRef& entities); 00036 bool ImportCollectionOfImageTexturedShells(SUEntitiesRef& entities); 00037 00038 private: 00039 TextureWriter& m_textureWriter; 00040 ImageRepository& m_imageRepository; 00041 StyleRepository& m_styleRepository; 00042 VisibilityChecker& m_visibilityChecker; 00043 InheritanceManager& m_inheritanceManager; 00044 };