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  HPS::Type ObjectType() const { return HPS::Type::ExchangeParasolidImportNotifier; };
74 
78  ImportNotifier & operator=(ImportNotifier const & in_that);
79 
82  void Assign(ImportNotifier const & in_that);
83 
86  Exchange::CADModel GetCADModel() const;
87 
90  Time GetImportTime() const;
91 
94  Time GetTranslationTime() const;
95 
98  Time GetParseTime() const;
99  };
100 
102  class EXCHANGE_PARASOLID_API File
103  {
104  public:
114  static ImportNotifier Import(
115  char const * in_filename,
116  Exchange::ImportOptionsKit const & in_import_options,
117  Exchange::TranslationOptionsKit const & in_translation_options,
118  Parasolid::FacetTessellationKit const & in_facet_tessellation,
119  Parasolid::LineTessellationKit const & in_line_tessellation);
120 
128  static Exchange::ReloadNotifier Reload(
129  Exchange::Component const & in_component,
130  Exchange::TranslationOptionsKit const & in_translation_options,
131  Parasolid::FacetTessellationKit const & in_facet_tessellation,
132  Parasolid::LineTessellationKit const & in_line_tessellation);
133 
141  static Exchange::ReloadNotifier Reload(
142  Exchange::CADModel const & in_cad_model,
143  Exchange::TranslationOptionsKit const & in_translation_options,
144  Parasolid::FacetTessellationKit const & in_facet_tessellation,
145  Parasolid::LineTessellationKit const & in_line_tessellation);
146 
154  static void Tessellate(
155  Exchange::Component const & in_component,
156  Parasolid::FacetTessellationKit const & in_facet_tessellation,
157  Parasolid::LineTessellationKit const & in_line_tessellation);
158 
164  static void Tessellate(
165  Exchange::CADModel const & in_cad_model,
166  Parasolid::FacetTessellationKit const & in_facet_tessellation,
167  Parasolid::LineTessellationKit const & in_line_tessellation);
168 
169  private:
171  File();
172  };
173 
174 private:
177 };
178 
179 }
180 
181 #endif
Definition: sprk_exchange_parasolid.h:41
Definition: sprk_exchange.h:697
Definition: sprk_exchange.h:297
Definition: sprk_exchange_parasolid.h:102
Definition: sprk_exchange.h:2894
Definition: sprk_exchange.h:111
Definition: sprk_parasolid.h:1090
Definition: hps.h:46622
Definition: sprk_exchange.h:1591
HPS::Type ObjectType() const
Definition: sprk_exchange_parasolid.h:73
Definition: sprk_exchange_parasolid.h:45
Definition: sprk_parasolid.h:667