API Search || Global Search
sprk_exchange_parasolid.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 #ifndef SPRK_EXCHANGE_PARASOLID_H
11 #define SPRK_EXCHANGE_PARASOLID_H
12 
13 #include "sprk.h"
14 #include "sprk_exchange.h"
15 #include "sprk_parasolid.h"
16 
17 #ifdef _MSC_VER
18 #ifndef STATIC_APP
19 # ifdef SPRK_EXCHANGE_PARASOLID
20 # define EXCHANGE_PARASOLID_API __declspec (dllexport)
21 # else
22 # define EXCHANGE_PARASOLID_API __declspec (dllimport)
23 # endif
24 #endif
25 #else
26 # include <stddef.h>
27 # if defined(LINUX_SYSTEM) && defined(SPRK_EXCHANGE_PARASOLID)
28 # ifndef STATIC_APP
29 # define EXCHANGE_PARASOLID_API __attribute__ ((visibility ("default")))
30 # endif
31 # endif
32 #endif
33 
34 #ifndef EXCHANGE_PARASOLID_API
35 # define EXCHANGE_PARASOLID_API
36 #endif
37 
38 namespace HPS
39 {
40 
41 class EXCHANGE_PARASOLID_API ExchangeParasolid
42 {
43 public:
44  typedef int ParasolidEntity;
45 
47  class EXCHANGE_PARASOLID_API ImportNotifier : public IONotifier
48  {
49  public:
52 
55  ImportNotifier(ImportNotifier const & in_that);
56 
61  ImportNotifier(IONotifier const & in_that);
62 
66  ImportNotifier(ImportNotifier && in_that);
67 
71  ImportNotifier & operator=(ImportNotifier && in_that);
72 
73  virtual ~ImportNotifier();
74 
75  static const HPS::Type staticType = HPS::Type::ExchangeParasolidImportNotifier;
76  HPS::Type ObjectType() const { return staticType; };
77 
81  ImportNotifier & operator=(ImportNotifier const & in_that);
82 
85  void Assign(ImportNotifier const & in_that);
86 
89  Exchange::CADModel GetCADModel() const;
90 
93  Time GetImportTime() const;
94 
97  Time GetTranslationTime() const;
98 
101  Time GetParseTime() const;
102  };
103 
105  class EXCHANGE_PARASOLID_API File
106  {
107  public:
117  static ImportNotifier Import(
118  char const * in_filename,
119  Exchange::ImportOptionsKit const & in_import_options,
120  Exchange::TranslationOptionsKit const & in_translation_options,
121  Parasolid::FacetTessellationKit const & in_facet_tessellation,
122  Parasolid::LineTessellationKit const & in_line_tessellation);
123 
131  static Exchange::ReloadNotifier Reload(
132  Exchange::Component const & in_component,
133  Exchange::TranslationOptionsKit const & in_translation_options,
134  Parasolid::FacetTessellationKit const & in_facet_tessellation,
135  Parasolid::LineTessellationKit const & in_line_tessellation);
136 
144  static Exchange::ReloadNotifier Reload(
145  Exchange::CADModel const & in_cad_model,
146  Exchange::TranslationOptionsKit const & in_translation_options,
147  Parasolid::FacetTessellationKit const & in_facet_tessellation,
148  Parasolid::LineTessellationKit const & in_line_tessellation);
149 
157  static void Tessellate(
158  Exchange::Component const & in_component,
159  Parasolid::FacetTessellationKit const & in_facet_tessellation,
160  Parasolid::LineTessellationKit const & in_line_tessellation);
161 
167  static void Tessellate(
168  Exchange::CADModel const & in_cad_model,
169  Parasolid::FacetTessellationKit const & in_facet_tessellation,
170  Parasolid::LineTessellationKit const & in_line_tessellation);
171 
184  static Parasolid::Component AddEntity(
185  ComponentPath const & in_path_to_owner,
186  ParasolidEntity in_entity,
187  MatrixKit const & in_transform = MatrixKit(),
190 
204  static Parasolid::Component AddEntity(
205  Exchange::CADModel const & in_owner,
206  ParasolidEntity in_entity,
207  MatrixKit const & in_transform = MatrixKit(),
210 
211  private:
213  File();
214  };
215 
216 private:
219 };
220 
221 }
222 
223 #endif
Definition: sprk_exchange_parasolid.h:41
Definition: sprk_exchange.h:708
Definition: sprk_exchange.h:302
static FacetTessellationKit GetDefault()
Definition: sprk_exchange_parasolid.h:105
Definition: sprk_exchange.h:2953
Definition: sprk_exchange.h:113
Definition: hps.h:15474
Definition: sprk_parasolid.h:1118
Definition: hps.h:47733
Definition: sprk.h:2065
Definition: sprk_parasolid.h:285
Definition: sprk_exchange.h:1616
static LineTessellationKit GetDefault()
Definition: sprk_exchange_parasolid.h:47
Definition: sprk_parasolid.h:694