sprk_exchange.h
1 // Copyright (c) 1998-2014 by 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_H
11 #define SPRK_EXCHANGE_H
12 
13 #include "sprk.h"
14 
15 typedef void A3DEntity;
16 typedef void A3DAsmModelFile;
17 
18 #ifdef _MSC_VER
19 #ifndef STATIC_APP
20 # ifdef SPROCKETS
21 # define EXCHANGE_API __declspec (dllexport)
22 # else
23 # define EXCHANGE_API __declspec (dllimport)
24 # endif
25 #endif
26 #else
27 # include <stddef.h>
28 # if defined(LINUX_SYSTEM) && defined(SPROCKETS)
29 # ifndef STATIC_APP
30 # define EXCHANGE_API __attribute__ ((visibility ("default")))
31 # endif
32 # endif
33 #endif
34 
35 #ifndef EXCHANGE_API
36 # define EXCHANGE_API
37 #endif
38 
39 namespace HPS
40 {
41 
43 class EXCHANGE_API Exchange
44 {
45 public:
46 
47  class Component;
48  class Configuration;
49  class Sheet;
51  class TranslationNotifier;
54  class ReloadNotifier;
55 
56  typedef std::vector<Configuration, HPS::Allocator<Configuration> > ConfigurationArray;
57  typedef std::vector<Sheet, HPS::Allocator<Sheet> > SheetArray;
58  typedef HPS::IntArray ParasolidEntityArray;
59 
62  enum class Units
63  {
64  Unknown,
65  Point,
66  Inch,
67  Millimeter,
68  Centimeter,
69  Pica,
70  Foot,
71  Yard,
72  Meter,
73  Kilometer,
74  Mile
75  };
76 
79  class EXCHANGE_API Component : public HPS::Component
80  {
81  public:
83  Component();
84 
88  Component(HPS::Component const & in_that);
89 
92  Component(Exchange::Component const & in_that);
93 
96  Component(Exchange::Component && in_that);
97 
98  virtual ~Component();
99 
100  HPS::Type ObjectType() const { return HPS::Type::ExchangeComponent; }
101 
102 #ifndef _MSC_VER
103  Component & operator=(Component const & in_that) = default;
104 #endif
105 
109  Component & operator=(Exchange::Component && in_that);
110 
111 
114  A3DEntity * GetExchangeEntity() const;
115 
116 
122  void Tessellate(TessellationOptionsKit const & in_options);
123 
130  TranslationNotifier Translate(Units in_units, TranslationOptionsKit const & in_translation_options);
131 
135  ReloadNotifier Reload(TessellationOptionsKit const & in_options = TessellationOptionsKit());
136  };
137 
139  class EXCHANGE_API Sheet : public Exchange::Component
140  {
141  public:
143  Sheet();
144 
148  Sheet(HPS::Component const & in_that);
149 
153  Sheet(Component const & in_that);
154 
157  Sheet(Sheet const & in_sheet);
158 
162  Sheet(Sheet && in_that);
163 
167  Sheet & operator=(Sheet && in_that);
168 
169  virtual ~Sheet();
170 
171  HPS::Type ObjectType() const { return HPS::Type::ExchangeSheet; }
172 
176  bool Equals(Sheet const & in_kit) const;
177 
181  bool operator==(Sheet const & in_kit) const;
182 
186  bool operator!=(Sheet const & in_kit) const;
187 
188  /* Activates this sheet */
189  HPS::View Activate();
190  };
191 
194  class EXCHANGE_API CADModel : public HPS::CADModel
195  {
196  public:
198  CADModel();
199 
203  CADModel(Component const & in_that);
204 
208  CADModel(HPS::CADModel const & in_that);
209 
212  CADModel(Exchange::CADModel const & in_that);
213 
216  CADModel(Exchange::CADModel && in_that);
217 
218  virtual ~CADModel();
219 
220  HPS::Type ObjectType() const { return HPS::Type::ExchangeCADModel; }
221 
222 #ifndef _MSC_VER
223  CADModel & operator=(Exchange::CADModel const & in_that) = default;
224 #endif
225 
229  CADModel & operator=(Exchange::CADModel && in_that);
230 
231 
234  A3DEntity * GetExchangeEntity() const;
235 
241  bool GetEntityOwnership() const;
242 
243 
247  UTF8Array GetCurrentConfiguration() const;
248 
252  ConfigurationArray GetConfigurations() const;
253 
254  /* Gets a list of sheets for this CADModel (if any). Only formats which support the concept of sheets can return a non-empty array.
255  * \return The list of sheets for this CADModel */
256  SheetArray GetSheets() const;
257 
263  TranslationNotifier Translate(TranslationOptionsKit const & in_translation_options);
264 
267  ReloadNotifier Reload(TessellationOptionsKit const & in_options = TessellationOptionsKit());
268  };
269 
272  class EXCHANGE_API Capture : public HPS::Capture
273  {
274  public:
276  Capture();
277 
281  Capture(Component const & in_that);
282 
286  Capture(HPS::Capture const & in_that);
287 
290  Capture(Exchange::Capture const & in_that);
291 
294  Capture(Exchange::Capture && in_that);
295 
296  virtual ~Capture();
297 
298  HPS::Type ObjectType() const { return HPS::Type::ExchangeCapture; }
299 
300 #ifndef _MSC_VER
301  Capture & operator=(Exchange::Capture const & in_that) = default;
302 #endif
303 
307  Capture & operator=(Exchange::Capture && in_that);
308 
309 
312  A3DEntity * GetExchangeEntity() const;
313  };
314 
317  class EXCHANGE_API Filter : public HPS::Filter
318  {
319  public:
321  Filter();
322 
326  Filter(Component const & in_that);
327 
331  Filter(HPS::Filter const & in_that);
332 
335  Filter(Exchange::Filter const & in_that);
336 
339  Filter(Exchange::Filter && in_that);
340 
341  virtual ~Filter();
342 
343  HPS::Type ObjectType() const { return HPS::Type::ExchangeFilter; }
344 
345 #ifndef _MSC_VER
346  Filter & operator=(Exchange::Filter const & in_that) = default;
347 #endif
348 
352  Filter & operator=(Exchange::Filter && in_that);
353 
354 
357  A3DEntity * GetExchangeEntity() const;
358  };
359 
361  class EXCHANGE_API Factory : public Sprocket
362  {
363  public:
368  static Component CreateComponent(HPS::Component const & in_owner, HPS::Component::ComponentType in_type, A3DEntity * in_entity = nullptr);
369 
375  static CADModel CreateCADModel(Model const & in_model = HPS::Factory::CreateModel(), A3DAsmModelFile * in_entity = nullptr, bool in_owns_entity = false);
376 
380  static Filter CreateFilter(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr);
381 
388  static Capture CreateCapture(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr, bool in_is_default = false);
389 
393  static Sheet CreateSheet(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr);
394 
395  private:
397  Factory();
398  };
399 
401  class EXCHANGE_API ImportNotifier : public IONotifier
402  {
403  public:
405  ImportNotifier();
406 
409  ImportNotifier(ImportNotifier const & in_that);
410 
415  ImportNotifier(IONotifier const & in_that);
416 
420  ImportNotifier(ImportNotifier && in_that);
421 
425  ImportNotifier & operator=(ImportNotifier && in_that);
426 
427  virtual ~ImportNotifier();
428 
429  HPS::Type ObjectType() const { return HPS::Type::ExchangeImportNotifier; };
430 
434  ImportNotifier & operator=(ImportNotifier const & in_that);
435 
438  void Assign(ImportNotifier const & in_that);
439 
442  Exchange::CADModel GetCADModel() const;
443 
446  Time GetImportTime() const;
447 
450  Time GetParseTime() const;
451  };
452 
454  class EXCHANGE_API TranslationNotifier : public IONotifier
455  {
456  public:
459 
462  TranslationNotifier(TranslationNotifier const & in_that);
463 
468  TranslationNotifier(IONotifier const & in_that);
469 
474 
478  TranslationNotifier & operator=(TranslationNotifier && in_that);
479 
480  virtual ~TranslationNotifier();
481 
482  HPS::Type ObjectType() const { return HPS::Type::ExchangeTranslationNotifier; };
483 
487  TranslationNotifier & operator=(TranslationNotifier const & in_that);
488 
491  void Assign(TranslationNotifier const & in_that);
492 
495  Exchange::ParasolidEntityArray GetParasolidParts() const;
496 
499  HPS::Time GetImportTime() const;
500 
503  HPS::Time GetTranslationTime() const;
504  };
505 
507  class EXCHANGE_API ExportNotifier : public IONotifier
508  {
509  public:
511  ExportNotifier();
512 
515  ExportNotifier(ExportNotifier const & in_that);
516 
521  ExportNotifier(IONotifier const & in_that);
522 
526  ExportNotifier(ExportNotifier && in_that);
527 
531  ExportNotifier & operator=(ExportNotifier && in_that);
532 
533  virtual ~ExportNotifier();
534 
535  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportNotifier; };
536 
540  ExportNotifier & operator=(ExportNotifier const & in_that);
541 
544  void Assign(ExportNotifier const & in_that);
545 
549  A3DAsmModelFile * GetModelFile() const;
550  };
551 
553  class EXCHANGE_API ReloadNotifier : public IONotifier
554  {
555  public:
557  ReloadNotifier();
558 
561  ReloadNotifier(ReloadNotifier const & in_that);
562 
567  ReloadNotifier(IONotifier const & in_that);
568 
572  ReloadNotifier(ReloadNotifier && in_that);
573 
577  ReloadNotifier & operator=(ReloadNotifier && in_that);
578 
579  virtual ~ReloadNotifier();
580 
581  HPS::Type ObjectType() const { return HPS::Type::ExchangeReloadNotifier; };
582 
586  ReloadNotifier & operator=(ReloadNotifier const & in_that);
587 
590  void Assign(ReloadNotifier const & in_that);
591  };
592 
593 
594  class ImportOptionsKit;
595  class ModelFileImportOptionsKit;
596  class ExportACISOptionsKit;
597  class ExportIGESOptionsKit;
598  class ExportJTOptionsKit;
599  class ExportPRCOptionsKit;
600  class ExportSTEPOptionsKit;
601  class ExportSTLOptionsKit;
602  class ExportU3DOptionsKit;
603  class ExportXMLOptionsKit;
604 
605 
608  enum class BRepMode
609  {
612  TessellationOnly,
615  BRepOnly,
618  BRepAndTessellation,
619  };
620 
624  {
625  PMIOnly,
626  ModelAndPMI
627  };
628 
630  class EXCHANGE_API Tessellation
631  {
632  public:
635  enum class Type
636  {
637  Standard,
638  Custom
639  };
640 
641 
644  enum class Level
645  {
646  ExtraLow,
647  Low,
648  Medium,
649  High,
650  ExtraHigh,
651  };
652 
654  class EXCHANGE_API Chord
655  {
656  public:
659  enum class Limit
660  {
663  Ratio,
666  Height
667  };
668 
669  private:
671  Chord();
672  };
673 
676  enum class Accuracy
677  {
680  Standard,
683  Accurate
684  };
685 
686  private:
688  Tessellation();
689  };
690 
692  class EXCHANGE_API JT
693  {
694  public:
697  enum class Content
698  {
699  Geometry,
700  Tessellation,
701  GeometryAndTessellation
702  };
703 
706  enum class TessellationLevel
707  {
708  Low,
709  Medium,
710  High,
711  };
712 
713  private:
715  JT();
716  };
717 
719  class EXCHANGE_API STEP
720  {
721  public:
724  enum class Field
725  {
726  ProductName,
727  NextAssemblyUsageOccurrenceID,
728  NextAssemblyUsageOccurrenceName,
729  NextAssemblyUsageOccurrenceDescription
730  };
731 
734  enum class Format
735  {
736  AP203,
737  AP214
738  };
739 
740  private:
742  STEP();
743  };
744 
746  class EXCHANGE_API PRC
747  {
748  public:
751  enum class BRepCompression
752  {
753  None,
754  Low,
755  Medium,
756  High
757  };
758 
759  private:
761  PRC();
762  };
763 
765  class EXCHANGE_API ProE
766  {
767  public:
770  enum class SessionColor
771  {
773  LastCreoVersion,
775  ExchangeDefault,
778  UserDefined
779  };
780 
781  private:
783  ProE();
784  };
785 
787  class EXCHANGE_API U3D
788  {
789  public:
792  enum class Version
793  {
794  ECMA1,
795  ECMA3
796  };
797 
798  private:
800  U3D();
801  };
802 
804  class EXCHANGE_API Configuration : public HPS::Sprocket
805  {
806  public:
808  Configuration();
809 
812  Configuration(char const * in_name);
813 
818  Configuration(char const * in_name, size_t in_count, Configuration const in_subconfigurations[]);
819 
823  Configuration(char const * in_name, ConfigurationArray const & in_subconfigurations);
824 
827  Configuration(Configuration const & in_configuration);
828 
832  Configuration(Configuration && in_that);
833 
837  Configuration & operator=(Configuration && in_that);
838 
839  virtual ~Configuration();
840 
841  HPS::Type ObjectType() const { return HPS::Type::ExchangeConfiguration; }
842 
843 
846  void Set(Configuration const & in_kit);
847 
850  void Show(Configuration & out_kit) const;
851 
855  Configuration & operator=(Configuration const & in_kit);
856 
859  bool Empty() const;
860 
864  bool Equals(Configuration const & in_kit) const;
865 
869  bool operator==(Configuration const & in_kit) const;
870 
874  bool operator!=(Configuration const & in_kit) const;
875 
876 
879  HPS::UTF8 GetName() const;
880 
883  ConfigurationArray GetSubconfigurations() const;
884  };
885 
887  class EXCHANGE_API File
888  {
889  public:
892  enum class Format
893  {
894  Unsupported,
895  ACIS,
896  CADDS,
897  CATIAV4,
898  CATIAV5,
899  CGR,
900  COLLADA,
901  CreoProE,
902  IDEAS,
903  IFC,
904  IGES,
905  Inventor,
906  JT,
907  KeyholeMarkupLanguage,
908  LatticeXVL,
909  OneSpaceDesigner,
910  Parasolid,
911  PDF,
912  PRC,
913  Rhino,
914  NXUnigraphics,
915  SolidEdge,
916  SolidWorks,
917  STEP,
918  StereoLithography,
919  ThreeDStudioMax,
920  ThreeDXML,
921  Universal3D,
922  VDAFS,
923  VRML,
924  WavefrontObject,
925  };
926 
928  static Format GetFormat(char const * in_file_name);
929 
933  static ConfigurationArray GetConfigurations(char const * in_file_name);
934 
941  static ImportNotifier Import(char const * in_file_name, ImportOptionsKit const & in_options);
942 
949  static ImportNotifier Import(A3DAsmModelFile const * in_model_file, ModelFileImportOptionsKit const & in_options);
950 
951 
958  static TranslationNotifier Translate(char const * in_file_name, ImportOptionsKit const & in_options, TranslationOptionsKit const & in_translation_options);
959 
964  static void ExportACIS(CADModel const & in_cad_model, char const * in_file_name, ExportACISOptionsKit const & in_options);
965 
970  static void ExportIGES(CADModel const & in_cad_model, char const * in_file_name, ExportIGESOptionsKit const & in_options);
971 
976  static void ExportJT(CADModel const & in_cad_model, char const * in_file_name, ExportJTOptionsKit const & in_options);
977 
982  static void ExportParasolid(CADModel const & in_cad_model, char const * in_file_name, ExportParasolidOptionsKit const & in_options);
983 
988  static void ExportPRC(CADModel const & in_cad_model, char const * in_file_name, ExportPRCOptionsKit const & in_options);
989 
995  static ExportNotifier ExportPRC(SprocketPath const & in_source, char const * in_file_name, bool in_compress_tessellation = false);
996 
1000  static ExportNotifier ExportPRC(SprocketPath const & in_source);
1001 
1006  static void ExportSTEP(CADModel const & in_cad_model, char const * in_file_name, ExportSTEPOptionsKit const & in_options);
1007 
1012  static void ExportSTL(CADModel const & in_cad_model, char const * in_file_name, ExportSTLOptionsKit const & in_options);
1013 
1018  static void ExportU3D(CADModel const & in_cad_model, char const * in_file_name, ExportU3DOptionsKit const & in_options);
1019 
1023  static void ExportVRML(CADModel const & in_cad_model, char const * in_file_name);
1024 
1029  static void ExportXML(CADModel const & in_cad_model, char const * in_file_name, ExportXMLOptionsKit const & in_options);
1030 
1031  private:
1033  File();
1034  };
1035 
1037  class EXCHANGE_API ImportOptionsKit : public HPS::Sprocket
1038  {
1039  public:
1041  ImportOptionsKit();
1042 
1045  ImportOptionsKit(ImportOptionsKit const & in_kit);
1046 
1050  ImportOptionsKit(ImportOptionsKit && in_that);
1051 
1055  ImportOptionsKit & operator=(ImportOptionsKit && in_that);
1056 
1057  virtual ~ImportOptionsKit();
1058 
1059  HPS::Type ObjectType() const { return HPS::Type::ExchangeImportOptionsKit; }
1060 
1064  static ImportOptionsKit GetDefault();
1065 
1068  void Set(ImportOptionsKit const & in_kit);
1069 
1072  void Show(ImportOptionsKit & out_kit) const;
1073 
1077  ImportOptionsKit & operator=(ImportOptionsKit const & in_kit);
1078 
1081  bool Empty() const;
1082 
1086  bool Equals(ImportOptionsKit const & in_kit) const;
1087 
1091  bool operator==(ImportOptionsKit const & in_kit) const;
1092 
1096  bool operator!=(ImportOptionsKit const & in_kit) const;
1097 
1098 
1104  ImportOptionsKit & SetBRepData(bool in_state);
1105 
1111  ImportOptionsKit & SetBRepMode(BRepMode in_mode);
1112 
1118  ImportOptionsKit & SetSolids(bool in_state);
1119 
1125  ImportOptionsKit & SetSurfaces(bool in_state);
1126 
1132  ImportOptionsKit & SetWireframes(bool in_state);
1133 
1139  ImportOptionsKit & SetPMI(bool in_state);
1140 
1147  ImportOptionsKit & SetAttributes(bool in_state);
1148 
1154  ImportOptionsKit & SetHiddenObjects(bool in_state);
1155 
1161  ImportOptionsKit & SetConstructionAndReferences(bool in_state);
1162 
1168  ImportOptionsKit & SetActiveFilter(bool in_state);
1169 
1175  ImportOptionsKit & SetDefaultUnits(Units in_units);
1176 
1183  ImportOptionsKit & SetPMISubstitutionFont(char const * in_font_name, bool in_always_substitute = false);
1184 
1190  ImportOptionsKit & SetPMIPrecision(size_t in_precision);
1191 
1197  ImportOptionsKit & SetPMIDefaultUnits(Units in_units);
1198 
1204  ImportOptionsKit & SetPMIDefaultColor(RGBColor const & in_color);
1205 
1211  ImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
1212 
1219  ImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
1220 
1228  ImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
1229 
1235  ImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
1236 
1242  ImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
1243 
1249  ImportOptionsKit & SetTextureDirectories(size_t in_count, UTF8 const in_directories[]);
1250 
1255  ImportOptionsKit & SetTextureDirectories(UTF8Array const & in_directories);
1256 
1263  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], bool const in_recurse_flags[]);
1264 
1270  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, BoolArray const & in_recurse_flags);
1271 
1280  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], UTF8 const in_logical_names[], bool const in_recurse_flags[]);
1281 
1290  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, UTF8Array const & in_logical_names, BoolArray const & in_recurse_flags);
1291 
1297  ImportOptionsKit & SetSearchDirectoriesByFile(size_t in_count, UTF8 const in_file_names[]);
1298 
1303  ImportOptionsKit & SetSearchDirectoriesByFile(UTF8Array const & in_file_names);
1304 
1309  ImportOptionsKit & SetConfiguration(char const * in_configuration);
1310 
1316  ImportOptionsKit & SetConfiguration(size_t in_count, UTF8 const in_configuration[]);
1317 
1322  ImportOptionsKit & SetConfiguration(UTF8Array const & in_configuration);
1323 
1329  ImportOptionsKit & SetCatiaV4LogicalNameForRootDirectory(char const * in_name);
1330 
1337  ImportOptionsKit & SetCatiaV4LogicalNameSearching(bool in_state);
1338 
1345  ImportOptionsKit & SetCatiaV5Cache(bool in_active, char const * in_path);
1346 
1354  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(size_t in_count, UTF8 const in_reference_sets[], bool in_apply_to_all_levels);
1355 
1362  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(UTF8Array const & in_reference_sets, bool in_apply_to_all_levels);
1363 
1369  ImportOptionsKit & SetUnigraphicsFittedCamera(bool in_state);
1370 
1376  ImportOptionsKit & SetProECodePageName(char const * in_name);
1377 
1383  ImportOptionsKit & SetProEDimensionTolerance(bool in_state);
1384 
1390  ImportOptionsKit & SetProESubpartPMI(bool in_state);
1391 
1397  ImportOptionsKit & SetProESessionColor(ProE::SessionColor in_type);
1398 
1405  ImportOptionsKit & SetSTEPNamePreference(STEP::Field in_field);
1406 
1412  ImportOptionsKit & SetSTEPCodePageName(char const * in_name);
1413 
1419  ImportOptionsKit & SetSTEPFirstColorPreference(bool in_state);
1420 
1426  ImportOptionsKit & SetSTEPShellBasedSurfaceModelSplitting(bool in_state);
1427 
1433  ImportOptionsKit & SetSTEPOrientationHealing(bool in_state);
1434 
1440  ImportOptionsKit & SetIFCCodePageName(char const * in_name);
1441 
1448  ImportOptionsKit & SetIFCAttributeXMLFile(char const * in_filename);
1449 
1455  ImportOptionsKit & SetIFCOwnerHistoryOptimization(bool in_state);
1456 
1462  ImportOptionsKit & SetIFCFaceOptimization(bool in_state);
1463 
1470  ImportOptionsKit & SetIFCEdges(bool in_state);
1471 
1477  ImportOptionsKit & SetIFCMetadata(bool in_state);
1478 
1484  ImportOptionsKit & SetPDF3DStreamIndex(size_t in_index);
1485 
1491  ImportOptionsKit & SetJTTessellationLevel(JT::TessellationLevel in_jt_tessellation_level);
1492 
1496  ImportOptionsKit & SetAnnotationCaptureFitting(AnnotationCaptureFitting in_fitting);
1497 
1509  ImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
1510 
1511 
1515  ImportOptionsKit & UnsetBRepData();
1516 
1519  ImportOptionsKit & UnsetBRepMode();
1520 
1523  ImportOptionsKit & UnsetSolids();
1524 
1527  ImportOptionsKit & UnsetSurfaces();
1528 
1531  ImportOptionsKit & UnsetWireframes();
1532 
1535  ImportOptionsKit & UnsetPMI();
1536 
1539  ImportOptionsKit & UnsetAttributes();
1540 
1543  ImportOptionsKit & UnsetHiddenObjects();
1544 
1547  ImportOptionsKit & UnsetConstructionAndReferences();
1548 
1551  ImportOptionsKit & UnsetActiveFilter();
1552 
1555  ImportOptionsKit & UnsetDefaultUnits();
1556 
1559  ImportOptionsKit & UnsetPMISubstitutionFont();
1560 
1563  ImportOptionsKit & UnsetPMIPrecision();
1564 
1567  ImportOptionsKit & UnsetPMIDefaultUnits();
1568 
1571  ImportOptionsKit & UnsetPMIDefaultColor();
1572 
1575  ImportOptionsKit & UnsetTessellationLevel();
1576 
1579  ImportOptionsKit & UnsetTessellationAccuracy();
1580 
1583  ImportOptionsKit & UnsetTessellationPreservesUVPoints();
1584 
1587  ImportOptionsKit & UnsetTessellationMaximumEdgeLength();
1588 
1591  ImportOptionsKit & UnsetTextureDirectories();
1592 
1595  ImportOptionsKit & UnsetSearchDirectories();
1596 
1599  ImportOptionsKit & UnsetSearchDirectoriesByFile();
1600 
1603  ImportOptionsKit & UnsetConfiguration();
1604 
1607  ImportOptionsKit & UnsetCatiaV4LogicalNameForRootDirectory();
1608 
1611  ImportOptionsKit & UnsetCatiaV4LogicalNameSearching();
1612 
1615  ImportOptionsKit & UnsetCatiaV5Cache();
1616 
1619  ImportOptionsKit & UnsetUnigraphicsPreferredReferenceSets();
1620 
1623  ImportOptionsKit & UnsetUnigraphicsFittedCamera();
1624 
1627  ImportOptionsKit & UnsetProECodePageName();
1628 
1631  ImportOptionsKit & UnsetProEDimensionTolerance();
1632 
1635  ImportOptionsKit & UnsetProESubpartPMI();
1636 
1639  ImportOptionsKit & UnsetProESessionColor();
1640 
1643  ImportOptionsKit & UnsetSTEPNamePreference();
1644 
1647  ImportOptionsKit & UnsetSTEPFirstColorPreference();
1648 
1651  ImportOptionsKit & UnsetSTEPCodePageName();
1652 
1655  ImportOptionsKit & UnsetSTEPShellBasedSurfaceModelSplitting();
1656 
1659  ImportOptionsKit & UnsetSTEPOrientationHealing();
1660 
1663  ImportOptionsKit & UnsetIFCCodePageName();
1664 
1667  ImportOptionsKit & UnsetIFCAttributeXMLFile();
1668 
1671  ImportOptionsKit & UnsetIFCOwnerHistoryOptimization();
1672 
1675  ImportOptionsKit & UnsetIFCFaceOptimization();
1676 
1679  ImportOptionsKit & UnsetIFCEdges();
1680 
1683  ImportOptionsKit & UnsetIFCMetadata();
1684 
1687  ImportOptionsKit & UnsetPDF3DStreamIndex();
1688 
1691  ImportOptionsKit & UnsetJTTessellationLevel();
1692 
1695  ImportOptionsKit & UnsetAnnotationCaptureFitting();
1696 
1699  ImportOptionsKit & UnsetLocation();
1700 
1703  ImportOptionsKit & UnsetEverything();
1704 
1705 
1710  bool ShowBRepData(bool & out_state) const;
1711 
1715  bool ShowBRepMode(BRepMode & out_mode) const;
1716 
1720  bool ShowSolids(bool & out_state) const;
1721 
1725  bool ShowSurfaces(bool & out_state) const;
1726 
1730  bool ShowWireframes(bool & out_state) const;
1731 
1735  bool ShowPMI(bool & out_state) const;
1736 
1740  bool ShowAttributes(bool & out_state) const;
1741 
1745  bool ShowHiddenObjects(bool & out_state) const;
1746 
1750  bool ShowConstructionAndReferences(bool & out_state) const;
1751 
1755  bool ShowActiveFilter(bool & out_state) const;
1756 
1760  bool ShowDefaultUnits(Units & out_units) const;
1761 
1766  bool ShowPMISubstitutionFont(UTF8 & out_font_name, bool & out_always_substitute) const;
1767 
1771  bool ShowPMIPrecision(size_t & out_precision) const;
1772 
1776  bool ShowPMIDefaultUnits(Units & out_units) const;
1777 
1781  bool ShowPMIDefaultColor(RGBColor & out_color) const;
1782 
1790  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
1791 
1796  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
1797 
1801  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
1802 
1806  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
1807 
1811  bool ShowTextureDirectories(UTF8Array & out_directories);
1812 
1818  bool ShowSearchDirectories(UTF8Array & out_directories, UTF8Array & out_logical_names, BoolArray & out_recurse_flags) const;
1819 
1823  bool ShowSearchDirectoriesByFile(UTF8Array & out_file_names) const;
1824 
1828  bool ShowConfiguration(UTF8Array & out_configuration) const;
1829 
1833  bool ShowCatiaV4LogicalNameForRootDirectory(UTF8 & out_name) const;
1834 
1838  bool ShowCatiaV4LogicalNameSearching(bool & out_state) const;
1839 
1844  bool ShowCatiaV5Cache(bool & out_active, UTF8 & out_path) const;
1845 
1850  bool ShowUnigraphicsPreferredReferenceSets(UTF8Array & out_reference_sets, bool & out_apply_to_all_levels) const;
1851 
1855  bool ShowUnigraphicsFittedCamera(bool & out_state) const;
1856 
1860  bool ShowProECodePageName(UTF8 & out_name) const;
1861 
1865  bool ShowProEDimensionTolerance(bool & out_state) const;
1866 
1870  bool ShowProESubpartPMI(bool & out_state) const;
1871 
1875  bool ShowProESessionColor(ProE::SessionColor & out_type) const;
1876 
1880  bool ShowSTEPNamePreference(STEP::Field & out_field) const;
1881 
1885  bool ShowSTEPFirstColorPreference(bool & out_state) const;
1886 
1890  bool ShowSTEPCodePageName(UTF8 & out_name) const;
1891 
1895  bool ShowSTEPShellBasedSurfaceModelSplitting(bool & out_state) const;
1896 
1900  bool ShowSTEPOrientationHealing(bool & out_state) const;
1901 
1905  bool ShowIFCCodePageName(UTF8 & out_name) const;
1906 
1910  bool ShowIFCAttributeXMLFile(UTF8 & out_filename) const;
1911 
1915  bool ShowIFCOwnerHistoryOptimization(bool & out_state) const;
1916 
1920  bool ShowIFCFaceOptimization(bool & out_state) const;
1921 
1925  bool ShowIFCEdges(bool & out_state) const;
1926 
1930  bool ShowIFCMetadata(bool & out_state) const;
1931 
1935  bool ShowPDF3DStreamIndex(size_t & out_index) const;
1936 
1940  bool ShowJTTessellationLevel(JT::TessellationLevel & out_tessellation_level) const;
1941 
1945  bool ShowAnnotationCaptureFitting(AnnotationCaptureFitting & out_fitting) const;
1946 
1951  bool ShowLocation(ComponentPath & out_path, MatrixKit & out_transform) const;
1952  };
1953 
1955  class EXCHANGE_API Translation
1956  {
1957  public:
1960  enum class Healing
1961  {
1962  Off,
1963  On,
1964  OnlyIfNotParasolid,
1965  };
1966 
1969  enum class AccurateEdges
1970  {
1971  Off,
1972  On,
1973  OnlyIfNotParasolid,
1974  };
1975 
1978  enum class Simplification
1979  {
1980  Off,
1981  On,
1982  OnlyIfNotParasolid,
1983  };
1984 
1987  enum class Merging
1988  {
1989  Off,
1990  On,
1991  OnlyIfNotParasolid,
1992  };
1993 
1994  private:
1996  Translation();
1997  };
1998 
2000  class EXCHANGE_API TranslationOptionsKit : public HPS::Sprocket
2001  {
2002  public:
2005 
2009 
2014 
2018  TranslationOptionsKit & operator=(TranslationOptionsKit && in_that);
2019 
2020  virtual ~TranslationOptionsKit();
2021 
2022  HPS::Type ObjectType() const { return HPS::Type::ExchangeTranslationOptionsKit; }
2023 
2027  static TranslationOptionsKit GetDefault();
2028 
2031  void Set(TranslationOptionsKit const & in_kit);
2032 
2035  void Show(TranslationOptionsKit & out_kit) const;
2036 
2040  TranslationOptionsKit & operator=(TranslationOptionsKit const & in_kit);
2041 
2044  bool Empty() const;
2045 
2049  bool Equals(TranslationOptionsKit const & in_kit) const;
2050 
2054  bool operator==(TranslationOptionsKit const & in_kit) const;
2055 
2059  bool operator!=(TranslationOptionsKit const & in_kit) const;
2060 
2066  TranslationOptionsKit & SetSolidsAsFaces(bool in_state);
2067 
2073  TranslationOptionsKit & SetTessellation(bool in_state);
2074 
2080  TranslationOptionsKit & SetHiddenObjects(bool in_state);
2081 
2085  TranslationOptionsKit & SetApplication(char const * in_name);
2086 
2090  TranslationOptionsKit & SetVersion(char const * in_version);
2091 
2095  TranslationOptionsKit & SetHealing(Translation::Healing in_healing);
2096 
2100  TranslationOptionsKit & SetAccurateEdges(Translation::AccurateEdges in_accurate_edges);
2101 
2105  TranslationOptionsKit & SetSimplification(Translation::Simplification in_simplification);
2106 
2110  TranslationOptionsKit & SetEntityMerging(Translation::Merging in_merging);
2111 
2116  TranslationOptionsKit & SetSewing(bool in_state, double in_tolerance = 0.0);
2117 
2121  TranslationOptionsKit & SetDisjointFaces(bool in_state);
2122 
2125  TranslationOptionsKit & UnsetSolidsAsFaces();
2126 
2129  TranslationOptionsKit & UnsetTessellation();
2130 
2133  TranslationOptionsKit & UnsetHiddenObjects();
2134 
2137  TranslationOptionsKit & UnsetApplication();
2138 
2141  TranslationOptionsKit & UnsetVersion();
2142 
2145  TranslationOptionsKit & UnsetHealing();
2146 
2149  TranslationOptionsKit & UnsetAccurateEdges();
2150 
2153  TranslationOptionsKit & UnsetSimplification();
2154 
2157  TranslationOptionsKit & UnsetEntityMerging();
2158 
2161  TranslationOptionsKit & UnsetSewing();
2162 
2165  TranslationOptionsKit & UnsetDisjointFaces();
2166 
2169  TranslationOptionsKit & UnsetEverything();
2170 
2171 
2175  bool ShowSolidsAsFaces(bool & out_state) const;
2176 
2180  bool ShowTessellation(bool & out_state) const;
2181 
2185  bool ShowHiddenObjects(bool & out_state) const;
2186 
2190  bool ShowApplication(UTF8 & out_name) const;
2191 
2195  bool ShowVersion(UTF8 & out_version) const;
2196 
2200  bool ShowHealing(Translation::Healing & out_healing) const;
2201 
2205  bool ShowAccurateEdges(Translation::AccurateEdges & out_accurate_edges) const;
2206 
2210  bool ShowSimplification(Translation::Simplification & out_simplification) const;
2211 
2215  bool ShowEntityMerging(Translation::Merging & out_merging) const;
2216 
2221  bool ShowSewing(bool & out_state, double & out_tolerance) const;
2222 
2226  bool ShowDisjointFaces(bool & out_state) const;
2227  };
2228 
2229 
2230 
2235  class EXCHANGE_API ModelFileImportOptionsKit : public HPS::Sprocket
2236  {
2237  public:
2240 
2244 
2249 
2253  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit && in_that);
2254 
2255  virtual ~ModelFileImportOptionsKit();
2256 
2257  HPS::Type ObjectType() const { return HPS::Type::ExchangeModelFileImportOptionsKit; }
2258 
2262  static ModelFileImportOptionsKit GetDefault();
2263 
2266  void Set(ModelFileImportOptionsKit const & in_kit);
2267 
2270  void Show(ModelFileImportOptionsKit & out_kit) const;
2271 
2275  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit const & in_kit);
2276 
2279  bool Empty() const;
2280 
2284  bool Equals(ModelFileImportOptionsKit const & in_kit) const;
2285 
2289  bool operator==(ModelFileImportOptionsKit const & in_kit) const;
2290 
2294  bool operator!=(ModelFileImportOptionsKit const & in_kit) const;
2295 
2296 
2302  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
2303 
2310  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
2311 
2319  ModelFileImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
2320 
2326  ModelFileImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
2327 
2333  ModelFileImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
2334 
2341  ModelFileImportOptionsKit & SetIFCEdges(bool in_state);
2342 
2346  ModelFileImportOptionsKit & SetAnnotationCaptureFitting(AnnotationCaptureFitting in_fitting);
2347 
2360  ModelFileImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
2361 
2362 
2365  ModelFileImportOptionsKit & UnsetTessellationLevel();
2366 
2369  ModelFileImportOptionsKit & UnsetTessellationAccuracy();
2370 
2373  ModelFileImportOptionsKit & UnsetTessellationPreservesUVPoints();
2374 
2377  ModelFileImportOptionsKit & UnsetTessellationMaximumEdgeLength();
2378 
2381  ModelFileImportOptionsKit & UnsetIFCEdges();
2382 
2385  ModelFileImportOptionsKit & UnsetAnnotationCaptureFitting();
2386 
2389  ModelFileImportOptionsKit & UnsetLocation();
2390 
2393  ModelFileImportOptionsKit & UnsetEverything();
2394 
2395 
2403  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
2404 
2409  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
2410 
2414  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
2415 
2419  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
2420 
2424  bool ShowIFCEdges(bool & out_state) const;
2425 
2429  bool ShowAnnotationCaptureFitting(AnnotationCaptureFitting & out_fitting) const;
2430 
2435  bool ShowLocation(ComponentPath & out_path, MatrixKit & out_transform) const;
2436  };
2437 
2438 
2440  class EXCHANGE_API ExportACISOptionsKit : public HPS::Sprocket
2441  {
2442  public:
2445 
2449 
2453 
2454  virtual ~ExportACISOptionsKit();
2455 
2456  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportACISOptionsKit; }
2457 
2461  static ExportACISOptionsKit GetDefault();
2462 
2465  void Set(ExportACISOptionsKit const & in_kit);
2466 
2469  void Show(ExportACISOptionsKit & out_kit) const;
2470 
2474  ExportACISOptionsKit & operator=(ExportACISOptionsKit const & in_kit);
2475 
2479  ExportACISOptionsKit & operator=(ExportACISOptionsKit && in_that);
2480 
2483  bool Empty() const;
2484 
2488  bool Equals(ExportACISOptionsKit const & in_kit) const;
2489 
2493  bool operator==(ExportACISOptionsKit const & in_kit) const;
2494 
2498  bool operator!=(ExportACISOptionsKit const & in_kit) const;
2499 
2500 
2506  ExportACISOptionsKit & SetMillimeterUnits(bool in_state);
2507 
2513  ExportACISOptionsKit & SetBinary(bool in_state);
2514 
2515 
2518  ExportACISOptionsKit & UnsetMillimeterUnits();
2519 
2522  ExportACISOptionsKit & UnsetBinary();
2523 
2526  ExportACISOptionsKit & UnsetEverything();
2527 
2528 
2532  bool ShowMillimeterUnits(bool & out_state) const;
2533 
2537  bool ShowBinary(bool & out_state) const;
2538  };
2539 
2541  class EXCHANGE_API ExportIGESOptionsKit : public HPS::Sprocket
2542  {
2543  public:
2546 
2550 
2554 
2555  virtual ~ExportIGESOptionsKit();
2556 
2557  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportIGESOptionsKit; }
2558 
2562  static ExportIGESOptionsKit GetDefault();
2563 
2566  void Set(ExportIGESOptionsKit const & in_kit);
2567 
2570  void Show(ExportIGESOptionsKit & out_kit) const;
2571 
2575  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit const & in_kit);
2576 
2580  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit && in_that);
2581 
2584  bool Empty() const;
2585 
2589  bool Equals(ExportIGESOptionsKit const & in_kit) const;
2590 
2594  bool operator==(ExportIGESOptionsKit const & in_kit) const;
2595 
2599  bool operator!=(ExportIGESOptionsKit const & in_kit) const;
2600 
2601 
2607  ExportIGESOptionsKit & SetAnalyticsAsNURBS(bool in_state);
2608 
2614  ExportIGESOptionsKit & SetFacetedAsWireframe(bool in_state);
2615 
2621  ExportIGESOptionsKit & SetSolidsAsFaces(bool in_state);
2622 
2628  ExportIGESOptionsKit & SetHiddenObjects(bool in_state);
2629 
2635  ExportIGESOptionsKit & SetTessellation(bool in_state);
2636 
2640  ExportIGESOptionsKit & SetApplication(char const * in_name);
2641 
2645  ExportIGESOptionsKit & SetVersion(char const * in_version);
2646 
2647 
2650  ExportIGESOptionsKit & UnsetAnalyticsAsNURBS();
2651 
2654  ExportIGESOptionsKit & UnsetFacetedAsWireframe();
2655 
2658  ExportIGESOptionsKit & UnsetSolidsAsFaces();
2659 
2662  ExportIGESOptionsKit & UnsetHiddenObjects();
2663 
2666  ExportIGESOptionsKit & UnsetTessellation();
2667 
2670  ExportIGESOptionsKit & UnsetApplication();
2671 
2674  ExportIGESOptionsKit & UnsetVersion();
2675 
2678  ExportIGESOptionsKit & UnsetEverything();
2679 
2680 
2684  bool ShowAnalyticsAsNURBS(bool & out_state) const;
2685 
2689  bool ShowFacetedAsWireframe(bool & out_state) const;
2690 
2694  bool ShowSolidsAsFaces(bool & out_state) const;
2695 
2699  bool ShowHiddenObjects(bool & out_state) const;
2700 
2704  bool ShowTessellation(bool & out_state) const;
2705 
2709  bool ShowApplication(UTF8 & out_name) const;
2710 
2714  bool ShowVersion(UTF8 & out_version) const;
2715  };
2716 
2718  class EXCHANGE_API ExportJTOptionsKit : public HPS::Sprocket
2719  {
2720  public:
2723 
2726  ExportJTOptionsKit(ExportJTOptionsKit const & in_kit);
2727 
2731 
2732  virtual ~ExportJTOptionsKit();
2733 
2734  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportJTOptionsKit; }
2735 
2739  static ExportJTOptionsKit GetDefault();
2740 
2743  void Set(ExportJTOptionsKit const & in_kit);
2744 
2747  void Show(ExportJTOptionsKit & out_kit) const;
2748 
2752  ExportJTOptionsKit & operator=(ExportJTOptionsKit const & in_kit);
2753 
2757  ExportJTOptionsKit & operator=(ExportJTOptionsKit && in_that);
2758 
2761  bool Empty() const;
2762 
2766  bool Equals(ExportJTOptionsKit const & in_kit) const;
2767 
2771  bool operator==(ExportJTOptionsKit const & in_kit) const;
2772 
2776  bool operator!=(ExportJTOptionsKit const & in_kit) const;
2777 
2778 
2784  ExportJTOptionsKit & SetContent(JT::Content in_content);
2785 
2791  ExportJTOptionsKit & SetHiddenObjects(bool in_state);
2792 
2798  ExportJTOptionsKit & SetPMI(bool in_state);
2799 
2800 
2803  ExportJTOptionsKit & UnsetContent();
2804 
2807  ExportJTOptionsKit & UnsetHiddenObjects();
2808 
2811  ExportJTOptionsKit & UnsetPMI();
2812 
2815  ExportJTOptionsKit & UnsetEverything();
2816 
2817 
2821  bool ShowContent(JT::Content & out_content) const;
2822 
2826  bool ShowHiddenObjects(bool & out_state) const;
2827 
2831  bool ShowPMI(bool & out_state) const;
2832  };
2833 
2835  class EXCHANGE_API ExportParasolidOptionsKit : public HPS::Sprocket
2836  {
2837  public:
2840 
2844 
2848 
2849  virtual ~ExportParasolidOptionsKit();
2850 
2851  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportParasolidOptionsKit; }
2852 
2856  static ExportParasolidOptionsKit GetDefault();
2857 
2860  void Set(ExportParasolidOptionsKit const & in_kit);
2861 
2864  void Show(ExportParasolidOptionsKit & out_kit) const;
2865 
2869  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit const & in_kit);
2870 
2874  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit && in_that);
2875 
2878  bool Empty() const;
2879 
2883  bool Equals(ExportParasolidOptionsKit const & in_kit) const;
2884 
2888  bool operator==(ExportParasolidOptionsKit const & in_kit) const;
2889 
2893  bool operator!=(ExportParasolidOptionsKit const & in_kit) const;
2894 
2895 
2901  ExportParasolidOptionsKit & SetSolidsAsFaces(bool in_state);
2902 
2908  ExportParasolidOptionsKit & SetTessellation(bool in_state);
2909 
2915  ExportParasolidOptionsKit & SetHiddenObjects(bool in_state);
2916 
2920  ExportParasolidOptionsKit & SetApplication(char const * in_name);
2921 
2925  ExportParasolidOptionsKit & SetVersion(char const * in_version);
2926 
2927 
2930  ExportParasolidOptionsKit & UnsetSolidsAsFaces();
2931 
2934  ExportParasolidOptionsKit & UnsetTessellation();
2935 
2938  ExportParasolidOptionsKit & UnsetHiddenObjects();
2939 
2942  ExportParasolidOptionsKit & UnsetApplication();
2943 
2946  ExportParasolidOptionsKit & UnsetVersion();
2947 
2950  ExportParasolidOptionsKit & UnsetEverything();
2951 
2952 
2956  bool ShowSolidsAsFaces(bool & out_state) const;
2957 
2961  bool ShowTessellation(bool & out_state) const;
2962 
2966  bool ShowHiddenObjects(bool & out_state) const;
2967 
2971  bool ShowApplication(UTF8 & out_name) const;
2972 
2976  bool ShowVersion(UTF8 & out_version) const;
2977  };
2978 
2980  class EXCHANGE_API ExportPRCOptionsKit : public HPS::Sprocket
2981  {
2982  public:
2985 
2988  ExportPRCOptionsKit(ExportPRCOptionsKit const & in_kit);
2989 
2993 
2994  virtual ~ExportPRCOptionsKit();
2995 
2996  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportPRCOptionsKit; }
2997 
3001  static ExportPRCOptionsKit GetDefault();
3002 
3005  void Set(ExportPRCOptionsKit const & in_kit);
3006 
3009  void Show(ExportPRCOptionsKit & out_kit) const;
3010 
3014  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit const & in_kit);
3015 
3019  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit && in_that);
3020 
3023  bool Empty() const;
3024 
3028  bool Equals(ExportPRCOptionsKit const & in_kit) const;
3029 
3033  bool operator==(ExportPRCOptionsKit const & in_kit) const;
3034 
3038  bool operator!=(ExportPRCOptionsKit const & in_kit) const;
3039 
3040 
3046  ExportPRCOptionsKit & SetTessellationCompression(bool in_state);
3047 
3054  ExportPRCOptionsKit & SetBRepCompression(PRC::BRepCompression in_level);
3055 
3061  ExportPRCOptionsKit & SetBRepRemoval(bool in_state);
3062 
3068  ExportPRCOptionsKit & SetAttributeRemoval(bool in_state);
3069 
3070 
3073  ExportPRCOptionsKit & UnsetTessellationCompression();
3074 
3077  ExportPRCOptionsKit & UnsetBRepCompression();
3078 
3081  ExportPRCOptionsKit & UnsetBRepRemoval();
3082 
3085  ExportPRCOptionsKit & UnsetAttributeRemoval();
3086 
3089  ExportPRCOptionsKit & UnsetEverything();
3090 
3091 
3095  bool ShowTessellationCompression(bool & out_state) const;
3096 
3100  bool ShowBRepCompression(PRC::BRepCompression & out_level) const;
3101 
3105  bool ShowBRepRemoval(bool & out_state) const;
3106 
3110  bool ShowAttributeRemoval(bool & out_state) const;
3111  };
3112 
3114  class EXCHANGE_API ExportSTEPOptionsKit : public HPS::Sprocket
3115  {
3116  public:
3119 
3123 
3127 
3128  virtual ~ExportSTEPOptionsKit();
3129 
3130  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportSTEPOptionsKit; }
3131 
3135  static ExportSTEPOptionsKit GetDefault();
3136 
3139  void Set(ExportSTEPOptionsKit const & in_kit);
3140 
3143  void Show(ExportSTEPOptionsKit & out_kit) const;
3144 
3148  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit const & in_kit);
3149 
3153  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit && in_that);
3154 
3157  bool Empty() const;
3158 
3162  bool Equals(ExportSTEPOptionsKit const & in_kit) const;
3163 
3167  bool operator==(ExportSTEPOptionsKit const & in_kit) const;
3168 
3172  bool operator!=(ExportSTEPOptionsKit const & in_kit) const;
3173 
3174 
3180  ExportSTEPOptionsKit & SetFormat(STEP::Format in_format);
3181 
3187  ExportSTEPOptionsKit & SetAnalyticsAsNURBS(bool in_state);
3188 
3194  ExportSTEPOptionsKit & SetFacetedAsWireframe(bool in_state);
3195 
3201  ExportSTEPOptionsKit & SetNameShortening(bool in_state);
3202 
3206  ExportSTEPOptionsKit & SetApplication(char const * in_name);
3207 
3211  ExportSTEPOptionsKit & SetVersion(char const * in_version);
3212 
3213 
3216  ExportSTEPOptionsKit & UnsetFormat();
3217 
3220  ExportSTEPOptionsKit & UnsetAnalyticsAsNURBS();
3221 
3224  ExportSTEPOptionsKit & UnsetFacetedAsWireframe();
3225 
3228  ExportSTEPOptionsKit & UnsetNameShortening();
3229 
3232  ExportSTEPOptionsKit & UnsetApplication();
3233 
3236  ExportSTEPOptionsKit & UnsetVersion();
3237 
3240  ExportSTEPOptionsKit & UnsetEverything();
3241 
3242 
3246  bool ShowFormat(STEP::Format & out_format) const;
3247 
3251  bool ShowAnalyticsAsNURBS(bool & out_state) const;
3252 
3256  bool ShowFacetedAsWireframe(bool & out_state) const;
3257 
3261  bool ShowNameShortening(bool & out_state) const;
3262 
3266  bool ShowApplication(UTF8 & out_name) const;
3267 
3271  bool ShowVersion(UTF8 & out_version) const;
3272  };
3273 
3275  class EXCHANGE_API ExportSTLOptionsKit : public HPS::Sprocket
3276  {
3277  public:
3280 
3283  ExportSTLOptionsKit(ExportSTLOptionsKit const & in_kit);
3284 
3288 
3289  virtual ~ExportSTLOptionsKit();
3290 
3291  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportSTLOptionsKit; }
3292 
3296  static ExportSTLOptionsKit GetDefault();
3297 
3300  void Set(ExportSTLOptionsKit const & in_kit);
3301 
3304  void Show(ExportSTLOptionsKit & out_kit) const;
3305 
3309  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit const & in_kit);
3310 
3314  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit && in_that);
3315 
3318  bool Empty() const;
3319 
3323  bool Equals(ExportSTLOptionsKit const & in_kit) const;
3324 
3328  bool operator==(ExportSTLOptionsKit const & in_kit) const;
3329 
3333  bool operator!=(ExportSTLOptionsKit const & in_kit) const;
3334 
3335 
3341  ExportSTLOptionsKit & SetBinary(bool in_state);
3342 
3348  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
3349 
3356  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3357 
3363  ExportSTLOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type);
3364 
3370  ExportSTLOptionsKit & SetCurrentTessellationRetention(bool in_state);
3371 
3378  ExportSTLOptionsKit & SetMaximumEdgeLength(double in_length);
3379 
3380 
3383  ExportSTLOptionsKit & UnsetBinary();
3384 
3387  ExportSTLOptionsKit & UnsetTessellationLevel();
3388 
3391  ExportSTLOptionsKit & UnsetTessellationAccuracy();
3392 
3395  ExportSTLOptionsKit & UnsetCurrentTessellationRetention();
3396 
3399  ExportSTLOptionsKit & UnsetMaximumEdgeLength();
3400 
3403  ExportSTLOptionsKit & UnsetEverything();
3404 
3405 
3409  bool ShowBinary(bool & out_state) const;
3410 
3418  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3419 
3423  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type) const;
3424 
3428  bool ShowCurrentTessellationRetention(bool & out_state) const;
3429 
3433  bool ShowMaximumEdgeLength(double & out_length) const;
3434  };
3435 
3437  class EXCHANGE_API ExportU3DOptionsKit : public HPS::Sprocket
3438  {
3439  public:
3442 
3445  ExportU3DOptionsKit(ExportU3DOptionsKit const & in_kit);
3446 
3450 
3451  virtual ~ExportU3DOptionsKit();
3452 
3453  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportU3DOptionsKit; }
3454 
3458  static ExportU3DOptionsKit GetDefault();
3459 
3462  void Set(ExportU3DOptionsKit const & in_kit);
3463 
3466  void Show(ExportU3DOptionsKit & out_kit) const;
3467 
3471  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit const & in_kit);
3472 
3476  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit && in_that);
3477 
3480  bool Empty() const;
3481 
3485  bool Equals(ExportU3DOptionsKit const & in_kit) const;
3486 
3490  bool operator==(ExportU3DOptionsKit const & in_kit) const;
3491 
3495  bool operator!=(ExportU3DOptionsKit const & in_kit) const;
3496 
3497 
3503  ExportU3DOptionsKit & SetVersion(U3D::Version in_version);
3504 
3509  ExportU3DOptionsKit & SetCompression(unsigned char in_level);
3510 
3511 
3514  ExportU3DOptionsKit & UnsetVersion();
3515 
3518  ExportU3DOptionsKit & UnsetCompression();
3519 
3522  ExportU3DOptionsKit & UnsetEverything();
3523 
3524 
3528  bool ShowVersion(U3D::Version & out_version) const;
3529 
3533  bool ShowCompression(unsigned char & out_level) const;
3534  };
3535 
3537  class EXCHANGE_API ExportXMLOptionsKit : public HPS::Sprocket
3538  {
3539  public:
3542 
3545  ExportXMLOptionsKit(ExportXMLOptionsKit const & in_kit);
3546 
3550 
3551  virtual ~ExportXMLOptionsKit();
3552 
3553  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportXMLOptionsKit; }
3554 
3558  static ExportXMLOptionsKit GetDefault();
3559 
3562  void Set(ExportXMLOptionsKit const & in_kit);
3563 
3566  void Show(ExportXMLOptionsKit & out_kit) const;
3567 
3571  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit const & in_kit);
3572 
3576  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit && in_that);
3577 
3580  bool Empty() const;
3581 
3585  bool Equals(ExportXMLOptionsKit const & in_kit) const;
3586 
3590  bool operator==(ExportXMLOptionsKit const & in_kit) const;
3591 
3595  bool operator!=(ExportXMLOptionsKit const & in_kit) const;
3596 
3597 
3603  ExportXMLOptionsKit & SetMetadata(bool in_state);
3604 
3610  ExportXMLOptionsKit & SetTransformations(bool in_state);
3611 
3617  ExportXMLOptionsKit & SetMaterials(bool in_state);
3618 
3619 
3622  ExportXMLOptionsKit & UnsetMetadata();
3623 
3626  ExportXMLOptionsKit & UnsetTransformations();
3627 
3630  ExportXMLOptionsKit & UnsetMaterials();
3631 
3634  ExportXMLOptionsKit & UnsetEverything();
3635 
3636 
3640  bool ShowMetadata(bool & out_state) const;
3641 
3645  bool ShowTransformations(bool & out_state) const;
3646 
3650  bool ShowMaterials(bool & out_state) const;
3651  };
3652 
3654  class EXCHANGE_API TessellationOptionsKit : public HPS::Sprocket
3655  {
3656  public:
3659 
3663 
3667 
3668  virtual ~TessellationOptionsKit();
3669 
3670  HPS::Type ObjectType() const { return HPS::Type::ExchangeTessellationOptionsKit; }
3671 
3675  static TessellationOptionsKit GetDefault();
3676 
3679  void Set(TessellationOptionsKit const & in_kit);
3680 
3683  void Show(TessellationOptionsKit & out_kit) const;
3684 
3688  TessellationOptionsKit & operator=(TessellationOptionsKit const & in_kit);
3689 
3693  TessellationOptionsKit & operator=(TessellationOptionsKit && in_that);
3694 
3697  bool Empty() const;
3698 
3702  bool Equals(TessellationOptionsKit const & in_kit) const;
3703 
3707  bool operator==(TessellationOptionsKit const & in_kit) const;
3708 
3712  bool operator!=(TessellationOptionsKit const & in_kit) const;
3713 
3714 
3718  TessellationOptionsKit & SetLevel(Tessellation::Level in_level);
3719 
3726  TessellationOptionsKit & SetLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3727 
3733  TessellationOptionsKit & SetAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
3734 
3738  TessellationOptionsKit & SetUVPointPreservation(bool in_state);
3739 
3743  TessellationOptionsKit & SetMaximumEdgeLength(double in_length);
3744 
3745 
3748  TessellationOptionsKit & UnsetLevel();
3749 
3752  TessellationOptionsKit & UnsetAccuracy();
3753 
3756  TessellationOptionsKit & UnsetUVPointPreservation();
3757 
3760  TessellationOptionsKit & UnsetMaximumEdgeLength();
3761 
3764  TessellationOptionsKit & UnsetEverything();
3765 
3766 
3774  bool ShowLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3775 
3780  bool ShowAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
3781 
3785  bool ShowUVPointPreservation(bool & out_state) const;
3786 
3790  bool ShowMaximumEdgeLength(double & out_length) const;
3791  };
3792 
3793 private:
3795  Exchange();
3796 };
3797 
3798 }
3799 
3800 #endif
Definition: sprk_exchange.h:2980
Level
Definition: sprk_exchange.h:644
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2734
Definition: sprk_exchange.h:43
Definition: sprk_exchange.h:746
Definition: sprk.h:239
HPS::Type ObjectType() const
Definition: sprk_exchange.h:171
Definition: sprk_exchange.h:887
Units
Definition: sprk_exchange.h:62
Definition: sprk.h:69
Simplification
Definition: sprk_exchange.h:1978
Definition: sprk_exchange.h:454
Version
Definition: sprk_exchange.h:792
Definition: sprk_exchange.h:2235
Definition: sprk_exchange.h:654
Definition: sprk_exchange.h:553
HPS::Type ObjectType() const
Definition: sprk_exchange.h:535
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3553
Format
Definition: sprk_exchange.h:734
HPS::Type ObjectType() const
Definition: sprk_exchange.h:581
Definition: sprk_exchange.h:3537
Definition: sprk.h:928
Format
Definition: sprk_exchange.h:892
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2996
Type
Definition: sprk_exchange.h:635
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2557
Definition: sprk_exchange.h:317
Definition: sprk_exchange.h:401
Definition: sprk_exchange.h:194
HPS::Type ObjectType() const
Definition: sprk_exchange.h:298
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2851
HPS::Type ObjectType() const
Definition: sprk_exchange.h:100
Definition: sprk_exchange.h:139
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3291
HPS::Type ObjectType() const
Definition: sprk_exchange.h:220
Definition: sprk_exchange.h:2718
Merging
Definition: sprk_exchange.h:1987
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2022
Field
Definition: sprk_exchange.h:724
HPS::Type ObjectType() const
Definition: sprk_exchange.h:841
Definition: sprk_exchange.h:2440
Definition: sprk_exchange.h:2000
Limit
Definition: sprk_exchange.h:659
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3130
TessellationLevel
Definition: sprk_exchange.h:706
Definition: sprk_exchange.h:630
Definition: sprk_exchange.h:3275
Definition: sprk_exchange.h:79
Definition: sprk_exchange.h:719
Definition: hps.h:4223
Definition: hps.h:6763
Definition: sprk_exchange.h:272
AnnotationCaptureFitting
Definition: sprk_exchange.h:623
Definition: sprk_exchange.h:3437
Definition: sprk_exchange.h:692
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2456
Definition: hps.h:14347
Definition: sprk_exchange.h:787
SessionColor
Definition: sprk_exchange.h:770
Definition: sprk.h:1513
Definition: hps.h:42175
Definition: sprk_exchange.h:361
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3670
Definition: sprk.h:431
HPS::Type ObjectType() const
Definition: sprk_exchange.h:1059
BRepCompression
Definition: sprk_exchange.h:751
Definition: sprk_parasolid.h:39
BRepMode
Definition: sprk_exchange.h:608
Definition: sprk.h:1756
ComponentType
Definition: sprk.h:1518
Accuracy
Definition: sprk_exchange.h:676
Definition: sprk_exchange.h:2541
Definition: sprk.h:2067
Content
Definition: sprk_exchange.h:697
Definition: sprk_exchange.h:1037
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2257
HPS::Type ObjectType() const
Definition: sprk_exchange.h:482
Definition: sprk.h:2165
Definition: sprk_exchange.h:765
AccurateEdges
Definition: sprk_exchange.h:1969
HPS::Type ObjectType() const
Definition: sprk_exchange.h:343
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3453
Definition: sprk_exchange.h:507
Healing
Definition: sprk_exchange.h:1960
Definition: sprk.h:2251
Definition: sprk_exchange.h:804
Definition: sprk_exchange.h:1955
static Model CreateModel(char const *in_name="")
Definition: sprk_exchange.h:2835
Definition: sprk_exchange.h:3654
HPS::Type ObjectType() const
Definition: sprk_exchange.h:429
Definition: sprk_exchange.h:3114