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 "DefinitionRepository.h" 00013 #include "VisibilityChecker.h" 00014 00015 #include <slapi/model/component_instance.h> 00016 #include <slapi/model/entities.h> 00017 00018 class DefinitionInstancesImporter 00019 { 00020 public: 00021 DefinitionInstancesImporter(DefinitionRepository& definitionRepository, 00022 VisibilityChecker& visibilityChecker); 00023 00024 bool ImportCollectionOfInstances(SUEntitiesRef& entities); 00025 00026 private: 00027 DefinitionInstancesImporter(const DefinitionInstancesImporter&); 00028 DefinitionInstancesImporter& operator=(const DefinitionInstancesImporter&); 00029 00030 bool ImportInstance(SUComponentInstanceRef& instance); 00031 bool ImportTransform(SUComponentInstanceRef& instance, std::vector<float>& floatTransform); 00032 00033 private: 00034 DefinitionRepository& m_definitionRepository; 00035 VisibilityChecker& m_visibilityChecker; 00036 };