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:
45  class EXCHANGE_PARASOLID_API ImportNotifier : public IONotifier
46  {
47  public:
50 
53  ImportNotifier(ImportNotifier const & in_that);
54 
59  ImportNotifier(IONotifier const & in_that);
60 
64  ImportNotifier(ImportNotifier && in_that);
65 
69  ImportNotifier & operator=(ImportNotifier && in_that);
70 
71  virtual ~ImportNotifier();
72 
73  static const HPS::Type staticType = HPS::Type::ExchangeParasolidImportNotifier;
74  HPS::Type ObjectType() const { return staticType; };
75 
79  ImportNotifier & operator=(ImportNotifier const & in_that);
80 
83  void Assign(ImportNotifier const & in_that);
84 
87  Exchange::CADModel GetCADModel() const;
88 
91  Time GetImportTime() const;
92 
95  Time GetTranslationTime() const;
96 
99  Time GetParseTime() const;
100  };
101 
103  class EXCHANGE_PARASOLID_API File
104  {
105  public:
115  static ImportNotifier Import(
116  char const * in_filename,
117  Exchange::ImportOptionsKit const & in_import_options,
118  Exchange::TranslationOptionsKit const & in_translation_options,
119  Parasolid::FacetTessellationKit const & in_facet_tessellation,
120  Parasolid::LineTessellationKit const & in_line_tessellation);
121 
129  static Exchange::ReloadNotifier Reload(
130  Exchange::Component const & in_component,
131  Exchange::TranslationOptionsKit const & in_translation_options,
132  Parasolid::FacetTessellationKit const & in_facet_tessellation,
133  Parasolid::LineTessellationKit const & in_line_tessellation);
134 
142  static Exchange::ReloadNotifier Reload(
143  Exchange::CADModel const & in_cad_model,
144  Exchange::TranslationOptionsKit const & in_translation_options,
145  Parasolid::FacetTessellationKit const & in_facet_tessellation,
146  Parasolid::LineTessellationKit const & in_line_tessellation);
147 
155  static void Tessellate(
156  Exchange::Component const & in_component,
157  Parasolid::FacetTessellationKit const & in_facet_tessellation,
158  Parasolid::LineTessellationKit const & in_line_tessellation);
159 
165  static void Tessellate(
166  Exchange::CADModel const & in_cad_model,
167  Parasolid::FacetTessellationKit const & in_facet_tessellation,
168  Parasolid::LineTessellationKit const & in_line_tessellation);
169 
170  private:
172  File();
173  };
174 
175 private:
178 };
179 
180 }
181 
182 #endif
Definition: sprk_exchange_parasolid.h:41
Definition: sprk_exchange.h:708
Definition: sprk_exchange.h:302
Definition: sprk_exchange_parasolid.h:103
Definition: sprk_exchange.h:2953
Definition: sprk_exchange.h:113
Definition: sprk_parasolid.h:1118
Definition: hps.h:47656
Definition: sprk_exchange.h:1616
Definition: sprk_exchange_parasolid.h:45
Definition: sprk_parasolid.h:694