Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

ModelImporter3DF.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #pragma once
11 
12 #include "ModelImporter.h"
13 
14 #include <hc.h>
15 
16 class ModelImporter3DF : public ModelImporter
17 {
18 public:
19  ModelImporter3DF(bool ignoreOffEntities, bool importMetadata, int attributePrecisionMode);
20 
21  bool Import(HC_KEY sceneSegmentKey, HC_KEY modelSegmentKey, HC_KEY includeSegmentKey,
22  SUModelRef& model, std::function<void(const std::string&, float)>& progressReporter);
23 
24  int GetAttributePrecisionMode();
25  void SetDoublesGenerated();
26  bool GetDoublesGenerated();
27 
28 private:
30  ModelImporter3DF& operator=(const ModelImporter3DF&);
31 
32  virtual ImageRepository * CreateImageRepository(TextureWriter& textureWriter);
33  virtual TextureRepository * CreateTextureRepository();
34  virtual StyleRepository * CreateStyleRepository(SegmentKey & includeSegmentKey, TextureWriter& textureWriter, ImageRepository& imageRepository, TextureRepository& textureRepository);
35  virtual GeometryImporter * CreateGeometryImporter(StyleRepository& styleRepository, VisibilityChecker& visibilityChecker, InheritanceManager& inheritanceManager);
36  virtual GroupRepository * CreateGroupRepository(SegmentKey & includeSegmentKey, GeometryImporter& geometryImporter, VisibilityChecker& visibilityChecker, ImageRepository& imageRepository, StyleRepository& textureRepository);
37  virtual DefinitionRepository * CreateDefinitionRepository(SegmentKey & includeSegmentKey, GeometryImporter& geometryImporter, GroupRepository& groupRepository, InheritanceManager& inheritanceManager);
38  virtual DefinitionInstancesImporter * CreateDefinitionInstancesImporter(DefinitionRepository& definitionRepository, VisibilityChecker& visibilityChecker);
39 
40  virtual bool SetTopLevelAttributes(SegmentKey & modelSegmentKey, SUModelRef& model);
41  virtual bool SetModelOptions(SegmentKey & modelSegmentKey, std::string const & data);
42  virtual bool SetModelMetadata(SegmentKey & modelSegmentKey, std::string const & data);
43  virtual bool SetModelCamera(SegmentKey & sceneSegmentKey, SUPoint3D const & position, SUPoint3D const & target, SUVector3D const & up, bool isPerspective, double width, double height);
44  virtual bool SetSceneCamera(std::string const & sceneName, SUPoint3D const & position, SUPoint3D const & target, SUVector3D const & up, bool isPerspective, double width, double height);
45 
46  HC_KEY _modelSegmentKey;
47  HC_KEY _includeSegmentKey;
48 
49  int _attributePrecisionMode;
50  bool _generatedDoubles;
51 };
#define HC_KEY
Definition: ModelImporter3DF.h:16