Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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