18 #ifndef CLASS_HSKPImporter_DEF
19 #define CLASS_HSKPImporter_DEF
24 #include "SketchUp_i.h"
25 #include "SketchUpAddin.h"
41 #include "InheritanceManager.h"
48 #define PolygonMeshPoints 0
49 #define PolygonMeshUVQFront 1
50 #define PolygonMeshUVQBack 2
51 #define PolygonMeshNormals 4
55 template<
typename K,
typename V>
59 typedef typename std::map<K,V>::iterator Iter;
63 void Add(K key, V value)
68 void Add(K key, V value, Iter it)
70 _data.insert(it, std::pair<K, V>(key, value));
80 return _data.find(key) != _data.end();
83 bool Contains(K key, Iter &it)
86 return it != _data.end();
102 void setTotalEntities(CComPtr<ISkpDocument> pDoc);
103 void setInputHandler(
HInputHandler* val){m_pInputhandler = val;};
107 return m_pInputhandler;
109 void set_IgnoreEntities(
bool val){ m_bIgnoreEntities = val;};
111 CComPtr<ISkpDocument> getSKPDatabase(
const char *, CComPtr<ISkpApplication> pApp);
113 void importSKPText(CComPtr<ISkpEntityProvider> );
114 void setDefaultOptions(CComPtr<ISkpDocument> pDoc);
115 void conditionStringForSegName(
char* zString);
116 void setTextureDirectory();
117 void transformPointsFromRotationTranslate(
double *angle,
HPoint* axis,
HPoint* points,
HPoint* origin);
118 double round(
double x);
120 BOOL deleteDirectory(
const TCHAR* sPath);
121 BOOL isDots(
const TCHAR* str);
122 void set_importMetadata(
bool mdata)
124 m_bImportMetadata = mdata;
129 void ImportGeometry(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
132 void ImportComponents(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
133 void ImportGroups(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
134 void ImportImages(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
135 void ImportFaces(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
136 void ImportEdges(CComPtr<ISkpEntityProvider> entityProvider,
int depth);
138 void ImportRpReportsAttributes(CComPtr<ISkpAttributeProvider> attributeProvider);
139 void ImportMaterial(CComPtr<ISkpMaterial> material,
long textureHandle,
const char *localTextureName);
140 void ImportTransform(CComPtr<ISkpTransform> transform);
141 void ImportFace(CComPtr<ISkpFace> face,
int depth,
NameKeyMap & foundMaterials);
144 static long GetEntityId(IUnknown *item);
146 void ReadOptionsProvider(CComPtr<ISkpNamedValues> pNVs);
148 bool loadImage(
long handle, BSTR in_name,
char * out_name, CComPtr<ISkpFace> face = 0);
149 bool loadTexture(CComPtr<ISkpMaterial> material,
long texHandle,
char * out_texName, CComPtr<ISkpFace> face);
150 bool getMaterialTextureColor(CComPtr<ISkpMaterial> material,
long textureHandle,
char *out_color, CComPtr<ISkpFace> face = 0);
151 bool getMaterialRGBColor(CComPtr<ISkpMaterial> material,
char *out_color);
152 bool getMaterialTransmissionColor(CComPtr<ISkpMaterial> material,
char *out_color,
bool *out_isTranslucent);
153 bool getMaterialColor(CComPtr<ISkpMaterial> material,
long textureHandle,
char *out_color,
bool *out_isTranslucent);
154 bool getOneFaceColor(CComPtr<ISkpFace> face, CComPtr<ISkpMaterial> material, BOOL front,
char *out_color,
bool *out_isTranslucent);
155 bool getFaceColor(CComPtr<ISkpFace> face,
char *out_color);
161 CComPtr<ISkpTextureWriter2> m_pTextureWriter;
163 char m_cTextureDirectory[MVO_BUFFER_SIZE];
164 bool m_bIsColorByLayer;
165 bool m_bIgnoreEntities;
166 bool m_bImportMetadata;
168 long m_totalEntities;
170 std::multimap<long, std::pair<long, string> > m_textures;
Definition: HSKPHelper.h:56
Definition: InheritanceManager.h:12
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
Definition: HSKPHelper.h:96