Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

GeometryImporter.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 "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 };