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;
53  class ReloadNotifier;
54 
55  typedef std::vector<Configuration, HPS::Allocator<Configuration> > ConfigurationArray;
56  typedef std::vector<Sheet, HPS::Allocator<Sheet> > SheetArray;
57  typedef HPS::IntArray ParasolidEntityArray;
58 
61  enum class Units
62  {
63  Unknown,
64  Point,
65  Inch,
66  Millimeter,
67  Centimeter,
68  Pica,
69  Foot,
70  Yard,
71  Meter,
72  Kilometer,
73  Mile
74  };
75 
78  class EXCHANGE_API Component : public HPS::Component
79  {
80  public:
82  Component();
83 
87  Component(HPS::Component const & in_that);
88 
91  Component(Exchange::Component const & in_that);
92 
95  Component(Exchange::Component && in_that);
96 
97  virtual ~Component();
98 
99  HPS::Type ObjectType() const { return HPS::Type::ExchangeComponent; }
100 
101 #ifndef _MSC_VER
102  Component & operator=(Component const & in_that) = default;
103 #endif
104 
108  Component & operator=(Exchange::Component && in_that);
109 
110 
113  A3DEntity * GetExchangeEntity() const;
114 
115 
121  void Tessellate(TessellationOptionsKit const & in_options);
122 
128  TranslationNotifier Translate(Units in_units);
129 
133  ReloadNotifier Reload(TessellationOptionsKit const & in_options = TessellationOptionsKit());
134  };
135 
137  class EXCHANGE_API Sheet : public Exchange::Component
138  {
139  public:
141  Sheet();
142 
146  Sheet(HPS::Component const & in_that);
147 
151  Sheet(Component const & in_that);
152 
155  Sheet(Sheet const & in_sheet);
156 
160  Sheet(Sheet && in_that);
161 
165  Sheet & operator=(Sheet && in_that);
166 
167  virtual ~Sheet();
168 
169  HPS::Type ObjectType() const { return HPS::Type::ExchangeSheet; }
170 
174  bool Equals(Sheet const & in_kit) const;
175 
179  bool operator==(Sheet const & in_kit) const;
180 
184  bool operator!=(Sheet const & in_kit) const;
185 
186  /* Activates this sheet */
187  HPS::View Activate();
188  };
189 
192  class EXCHANGE_API CADModel : public HPS::CADModel
193  {
194  public:
196  CADModel();
197 
201  CADModel(Component const & in_that);
202 
206  CADModel(HPS::CADModel const & in_that);
207 
210  CADModel(Exchange::CADModel const & in_that);
211 
214  CADModel(Exchange::CADModel && in_that);
215 
216  virtual ~CADModel();
217 
218  HPS::Type ObjectType() const { return HPS::Type::ExchangeCADModel; }
219 
220 #ifndef _MSC_VER
221  CADModel & operator=(Exchange::CADModel const & in_that) = default;
222 #endif
223 
227  CADModel & operator=(Exchange::CADModel && in_that);
228 
229 
232  A3DEntity * GetExchangeEntity() const;
233 
239  bool GetEntityOwnership() const;
240 
241 
245  UTF8Array GetCurrentConfiguration() const;
246 
250  ConfigurationArray GetConfigurations() const;
251 
252  /* Gets a list of sheets for this CADModel (if any). Only formats which support the concept of sheets can return a non-empty array.
253  * \return The list of sheets for this CADModel */
254  SheetArray GetSheets() const;
255 
261  TranslationNotifier Translate(ExportParasolidOptionsKit const & in_options);
262 
265  ReloadNotifier Reload(TessellationOptionsKit const & in_options = TessellationOptionsKit());
266  };
267 
270  class EXCHANGE_API Capture : public HPS::Capture
271  {
272  public:
274  Capture();
275 
279  Capture(Component const & in_that);
280 
284  Capture(HPS::Capture const & in_that);
285 
288  Capture(Exchange::Capture const & in_that);
289 
292  Capture(Exchange::Capture && in_that);
293 
294  virtual ~Capture();
295 
296  HPS::Type ObjectType() const { return HPS::Type::ExchangeCapture; }
297 
298 #ifndef _MSC_VER
299  Capture & operator=(Exchange::Capture const & in_that) = default;
300 #endif
301 
305  Capture & operator=(Exchange::Capture && in_that);
306 
307 
310  A3DEntity * GetExchangeEntity() const;
311  };
312 
315  class EXCHANGE_API Filter : public HPS::Filter
316  {
317  public:
319  Filter();
320 
324  Filter(Component const & in_that);
325 
329  Filter(HPS::Filter const & in_that);
330 
333  Filter(Exchange::Filter const & in_that);
334 
337  Filter(Exchange::Filter && in_that);
338 
339  virtual ~Filter();
340 
341  HPS::Type ObjectType() const { return HPS::Type::ExchangeFilter; }
342 
343 #ifndef _MSC_VER
344  Filter & operator=(Exchange::Filter const & in_that) = default;
345 #endif
346 
350  Filter & operator=(Exchange::Filter && in_that);
351 
352 
355  A3DEntity * GetExchangeEntity() const;
356  };
357 
359  class EXCHANGE_API Factory : public Sprocket
360  {
361  public:
366  static Component CreateComponent(HPS::Component const & in_owner, HPS::Component::ComponentType in_type, A3DEntity * in_entity = nullptr);
367 
373  static CADModel CreateCADModel(Model const & in_model = HPS::Factory::CreateModel(), A3DAsmModelFile * in_entity = nullptr, bool in_owns_entity = false);
374 
378  static Filter CreateFilter(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr);
379 
386  static Capture CreateCapture(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr, bool in_is_default = false);
387 
391  static Sheet CreateSheet(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr);
392 
393  private:
395  Factory();
396  };
397 
399  class EXCHANGE_API ImportNotifier : public IONotifier
400  {
401  public:
403  ImportNotifier();
404 
407  ImportNotifier(ImportNotifier const & in_that);
408 
413  ImportNotifier(IONotifier const & in_that);
414 
418  ImportNotifier(ImportNotifier && in_that);
419 
423  ImportNotifier & operator=(ImportNotifier && in_that);
424 
425  virtual ~ImportNotifier();
426 
427  HPS::Type ObjectType() const { return HPS::Type::ExchangeImportNotifier; };
428 
432  ImportNotifier & operator=(ImportNotifier const & in_that);
433 
436  void Assign(ImportNotifier const & in_that);
437 
440  Exchange::CADModel GetCADModel() const;
441 
444  Time GetImportTime() const;
445 
448  Time GetParseTime() const;
449  };
450 
452  class EXCHANGE_API TranslationNotifier : public IONotifier
453  {
454  public:
457 
460  TranslationNotifier(TranslationNotifier const & in_that);
461 
466  TranslationNotifier(IONotifier const & in_that);
467 
472 
476  TranslationNotifier & operator=(TranslationNotifier && in_that);
477 
478  virtual ~TranslationNotifier();
479 
480  HPS::Type ObjectType() const { return HPS::Type::ExchangeTranslationNotifier; };
481 
485  TranslationNotifier & operator=(TranslationNotifier const & in_that);
486 
489  void Assign(TranslationNotifier const & in_that);
490 
493  Exchange::ParasolidEntityArray GetParasolidParts() const;
494 
497  HPS::Time GetImportTime() const;
498 
501  HPS::Time GetTranslationTime() const;
502  };
503 
505  class EXCHANGE_API ExportNotifier : public IONotifier
506  {
507  public:
509  ExportNotifier();
510 
513  ExportNotifier(ExportNotifier const & in_that);
514 
519  ExportNotifier(IONotifier const & in_that);
520 
524  ExportNotifier(ExportNotifier && in_that);
525 
529  ExportNotifier & operator=(ExportNotifier && in_that);
530 
531  virtual ~ExportNotifier();
532 
533  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportNotifier; };
534 
538  ExportNotifier & operator=(ExportNotifier const & in_that);
539 
542  void Assign(ExportNotifier const & in_that);
543 
547  A3DAsmModelFile * GetModelFile() const;
548  };
549 
551  class EXCHANGE_API ReloadNotifier : public IONotifier
552  {
553  public:
555  ReloadNotifier();
556 
559  ReloadNotifier(ReloadNotifier const & in_that);
560 
565  ReloadNotifier(IONotifier const & in_that);
566 
570  ReloadNotifier(ReloadNotifier && in_that);
571 
575  ReloadNotifier & operator=(ReloadNotifier && in_that);
576 
577  virtual ~ReloadNotifier();
578 
579  HPS::Type ObjectType() const { return HPS::Type::ExchangeReloadNotifier; };
580 
584  ReloadNotifier & operator=(ReloadNotifier const & in_that);
585 
588  void Assign(ReloadNotifier const & in_that);
589  };
590 
591 
592  class ImportOptionsKit;
593  class ModelFileImportOptionsKit;
594  class ExportACISOptionsKit;
595  class ExportIGESOptionsKit;
596  class ExportJTOptionsKit;
597  class ExportPRCOptionsKit;
598  class ExportSTEPOptionsKit;
599  class ExportSTLOptionsKit;
600  class ExportU3DOptionsKit;
601  class ExportXMLOptionsKit;
602 
603 
606  enum class BRepMode
607  {
610  TessellationOnly,
613  BRepOnly,
616  BRepAndTessellation,
617  };
618 
622  {
623  PMIOnly,
624  ModelAndPMI
625  };
626 
628  class EXCHANGE_API Tessellation
629  {
630  public:
633  enum class Type
634  {
635  Standard,
636  Custom
637  };
638 
639 
642  enum class Level
643  {
644  ExtraLow,
645  Low,
646  Medium,
647  High,
648  ExtraHigh,
649  };
650 
652  class EXCHANGE_API Chord
653  {
654  public:
657  enum class Limit
658  {
661  Ratio,
664  Height
665  };
666 
667  private:
669  Chord();
670  };
671 
674  enum class Accuracy
675  {
678  Standard,
681  Accurate
682  };
683 
684  private:
686  Tessellation();
687  };
688 
690  class EXCHANGE_API JT
691  {
692  public:
695  enum class Content
696  {
697  Geometry,
698  Tessellation,
699  GeometryAndTessellation
700  };
701 
704  enum class TessellationLevel
705  {
706  Low,
707  Medium,
708  High,
709  };
710 
711  private:
713  JT();
714  };
715 
717  class EXCHANGE_API STEP
718  {
719  public:
722  enum class Field
723  {
724  ProductName,
725  NextAssemblyUsageOccurrenceID,
726  NextAssemblyUsageOccurrenceName,
727  NextAssemblyUsageOccurrenceDescription
728  };
729 
732  enum class Format
733  {
734  AP203,
735  AP214
736  };
737 
738  private:
740  STEP();
741  };
742 
744  class EXCHANGE_API PRC
745  {
746  public:
749  enum class BRepCompression
750  {
751  None,
752  Low,
753  Medium,
754  High
755  };
756 
757  private:
759  PRC();
760  };
761 
763  class EXCHANGE_API ProE
764  {
765  public:
768  enum class SessionColor
769  {
771  LastCreoVersion,
773  ExchangeDefault,
776  UserDefined
777  };
778 
779  private:
781  ProE();
782  };
783 
785  class EXCHANGE_API U3D
786  {
787  public:
790  enum class Version
791  {
792  ECMA1,
793  ECMA3
794  };
795 
796  private:
798  U3D();
799  };
800 
802  class EXCHANGE_API Configuration : public HPS::Sprocket
803  {
804  public:
806  Configuration();
807 
810  Configuration(char const * in_name);
811 
816  Configuration(char const * in_name, size_t in_count, Configuration const in_subconfigurations[]);
817 
821  Configuration(char const * in_name, ConfigurationArray const & in_subconfigurations);
822 
825  Configuration(Configuration const & in_configuration);
826 
830  Configuration(Configuration && in_that);
831 
835  Configuration & operator=(Configuration && in_that);
836 
837  virtual ~Configuration();
838 
839  HPS::Type ObjectType() const { return HPS::Type::ExchangeConfiguration; }
840 
841 
844  void Set(Configuration const & in_kit);
845 
848  void Show(Configuration & out_kit) const;
849 
853  Configuration & operator=(Configuration const & in_kit);
854 
857  bool Empty() const;
858 
862  bool Equals(Configuration const & in_kit) const;
863 
867  bool operator==(Configuration const & in_kit) const;
868 
872  bool operator!=(Configuration const & in_kit) const;
873 
874 
877  HPS::UTF8 GetName() const;
878 
881  ConfigurationArray GetSubconfigurations() const;
882  };
883 
885  class EXCHANGE_API File
886  {
887  public:
890  enum class Format
891  {
892  Unsupported,
893  ACIS,
894  CADDS,
895  CATIAV4,
896  CATIAV5,
897  CGR,
898  COLLADA,
899  CreoProE,
900  IDEAS,
901  IFC,
902  IGES,
903  Inventor,
904  JT,
905  KeyholeMarkupLanguage,
906  LatticeXVL,
907  OneSpaceDesigner,
908  Parasolid,
909  PDF,
910  PRC,
911  Rhino,
912  NXUnigraphics,
913  SolidEdge,
914  SolidWorks,
915  STEP,
916  StereoLithography,
917  ThreeDStudioMax,
918  ThreeDXML,
919  Universal3D,
920  VDAFS,
921  VRML,
922  WavefrontObject,
923  };
924 
926  static Format GetFormat(char const * in_file_name);
927 
931  static ConfigurationArray GetConfigurations(char const * in_file_name);
932 
939  static ImportNotifier Import(char const * in_file_name, ImportOptionsKit const & in_options);
940 
947  static ImportNotifier Import(A3DAsmModelFile const * in_model_file, ModelFileImportOptionsKit const & in_options);
948 
949 
956  static TranslationNotifier Translate(char const * in_file_name, ImportOptionsKit const & in_options, ExportParasolidOptionsKit const & in_parasolid_options);
957 
962  static void ExportACIS(CADModel const & in_cad_model, char const * in_file_name, ExportACISOptionsKit const & in_options);
963 
968  static void ExportIGES(CADModel const & in_cad_model, char const * in_file_name, ExportIGESOptionsKit const & in_options);
969 
974  static void ExportJT(CADModel const & in_cad_model, char const * in_file_name, ExportJTOptionsKit const & in_options);
975 
980  static void ExportParasolid(CADModel const & in_cad_model, char const * in_file_name, ExportParasolidOptionsKit const & in_options);
981 
986  static void ExportPRC(CADModel const & in_cad_model, char const * in_file_name, ExportPRCOptionsKit const & in_options);
987 
993  static ExportNotifier ExportPRC(SprocketPath const & in_source, char const * in_file_name, bool in_compress_tessellation = false);
994 
998  static ExportNotifier ExportPRC(SprocketPath const & in_source);
999 
1004  static void ExportSTEP(CADModel const & in_cad_model, char const * in_file_name, ExportSTEPOptionsKit const & in_options);
1005 
1010  static void ExportSTL(CADModel const & in_cad_model, char const * in_file_name, ExportSTLOptionsKit const & in_options);
1011 
1016  static void ExportU3D(CADModel const & in_cad_model, char const * in_file_name, ExportU3DOptionsKit const & in_options);
1017 
1021  static void ExportVRML(CADModel const & in_cad_model, char const * in_file_name);
1022 
1027  static void ExportXML(CADModel const & in_cad_model, char const * in_file_name, ExportXMLOptionsKit const & in_options);
1028 
1029  private:
1031  File();
1032  };
1033 
1035  class EXCHANGE_API ImportOptionsKit : public HPS::Sprocket
1036  {
1037  public:
1039  ImportOptionsKit();
1040 
1043  ImportOptionsKit(ImportOptionsKit const & in_kit);
1044 
1048  ImportOptionsKit(ImportOptionsKit && in_that);
1049 
1053  ImportOptionsKit & operator=(ImportOptionsKit && in_that);
1054 
1055  virtual ~ImportOptionsKit();
1056 
1057  HPS::Type ObjectType() const { return HPS::Type::ExchangeImportOptionsKit; }
1058 
1062  static ImportOptionsKit GetDefault();
1063 
1066  void Set(ImportOptionsKit const & in_kit);
1067 
1070  void Show(ImportOptionsKit & out_kit) const;
1071 
1075  ImportOptionsKit & operator=(ImportOptionsKit const & in_kit);
1076 
1079  bool Empty() const;
1080 
1084  bool Equals(ImportOptionsKit const & in_kit) const;
1085 
1089  bool operator==(ImportOptionsKit const & in_kit) const;
1090 
1094  bool operator!=(ImportOptionsKit const & in_kit) const;
1095 
1096 
1102  ImportOptionsKit & SetBRepData(bool in_state);
1103 
1109  ImportOptionsKit & SetBRepMode(BRepMode in_mode);
1110 
1116  ImportOptionsKit & SetSolids(bool in_state);
1117 
1123  ImportOptionsKit & SetSurfaces(bool in_state);
1124 
1130  ImportOptionsKit & SetWireframes(bool in_state);
1131 
1137  ImportOptionsKit & SetPMI(bool in_state);
1138 
1145  ImportOptionsKit & SetAttributes(bool in_state);
1146 
1152  ImportOptionsKit & SetHiddenObjects(bool in_state);
1153 
1159  ImportOptionsKit & SetConstructionAndReferences(bool in_state);
1160 
1166  ImportOptionsKit & SetActiveFilter(bool in_state);
1167 
1173  ImportOptionsKit & SetDefaultUnits(Units in_units);
1174 
1181  ImportOptionsKit & SetPMISubstitutionFont(char const * in_font_name, bool in_always_substitute = false);
1182 
1188  ImportOptionsKit & SetPMIPrecision(size_t in_precision);
1189 
1195  ImportOptionsKit & SetPMIDefaultUnits(Units in_units);
1196 
1202  ImportOptionsKit & SetPMIDefaultColor(RGBColor const & in_color);
1203 
1209  ImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
1210 
1217  ImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
1218 
1226  ImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
1227 
1233  ImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
1234 
1240  ImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
1241 
1247  ImportOptionsKit & SetTextureDirectories(size_t in_count, UTF8 const in_directories[]);
1248 
1253  ImportOptionsKit & SetTextureDirectories(UTF8Array const & in_directories);
1254 
1261  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], bool const in_recurse_flags[]);
1262 
1268  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, BoolArray const & in_recurse_flags);
1269 
1278  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], UTF8 const in_logical_names[], bool const in_recurse_flags[]);
1279 
1288  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, UTF8Array const & in_logical_names, BoolArray const & in_recurse_flags);
1289 
1295  ImportOptionsKit & SetSearchDirectoriesByFile(size_t in_count, UTF8 const in_file_names[]);
1296 
1301  ImportOptionsKit & SetSearchDirectoriesByFile(UTF8Array const & in_file_names);
1302 
1307  ImportOptionsKit & SetConfiguration(char const * in_configuration);
1308 
1314  ImportOptionsKit & SetConfiguration(size_t in_count, UTF8 const in_configuration[]);
1315 
1320  ImportOptionsKit & SetConfiguration(UTF8Array const & in_configuration);
1321 
1327  ImportOptionsKit & SetCatiaV4LogicalNameForRootDirectory(char const * in_name);
1328 
1335  ImportOptionsKit & SetCatiaV4LogicalNameSearching(bool in_state);
1336 
1343  ImportOptionsKit & SetCatiaV5Cache(bool in_active, char const * in_path);
1344 
1352  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(size_t in_count, UTF8 const in_reference_sets[], bool in_apply_to_all_levels);
1353 
1360  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(UTF8Array const & in_reference_sets, bool in_apply_to_all_levels);
1361 
1367  ImportOptionsKit & SetUnigraphicsFittedCamera(bool in_state);
1368 
1374  ImportOptionsKit & SetProECodePageName(char const * in_name);
1375 
1381  ImportOptionsKit & SetProEDimensionTolerance(bool in_state);
1382 
1388  ImportOptionsKit & SetProESubpartPMI(bool in_state);
1389 
1395  ImportOptionsKit & SetProESessionColor(ProE::SessionColor in_type);
1396 
1403  ImportOptionsKit & SetSTEPNamePreference(STEP::Field in_field);
1404 
1410  ImportOptionsKit & SetSTEPCodePageName(char const * in_name);
1411 
1417  ImportOptionsKit & SetSTEPFirstColorPreference(bool in_state);
1418 
1424  ImportOptionsKit & SetSTEPShellBasedSurfaceModelSplitting(bool in_state);
1425 
1431  ImportOptionsKit & SetSTEPOrientationHealing(bool in_state);
1432 
1438  ImportOptionsKit & SetIFCCodePageName(char const * in_name);
1439 
1446  ImportOptionsKit & SetIFCAttributeXMLFile(char const * in_filename);
1447 
1453  ImportOptionsKit & SetIFCOwnerHistoryOptimization(bool in_state);
1454 
1460  ImportOptionsKit & SetIFCFaceOptimization(bool in_state);
1461 
1468  ImportOptionsKit & SetIFCEdges(bool in_state);
1469 
1475  ImportOptionsKit & SetIFCMetadata(bool in_state);
1476 
1482  ImportOptionsKit & SetPDF3DStreamIndex(size_t in_index);
1483 
1489  ImportOptionsKit & SetJTTessellationLevel(JT::TessellationLevel in_jt_tessellation_level);
1490 
1494  ImportOptionsKit & SetAnnotationCaptureFitting(AnnotationCaptureFitting in_fitting);
1495 
1507  ImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
1508 
1509 
1513  ImportOptionsKit & UnsetBRepData();
1514 
1517  ImportOptionsKit & UnsetBRepMode();
1518 
1521  ImportOptionsKit & UnsetSolids();
1522 
1525  ImportOptionsKit & UnsetSurfaces();
1526 
1529  ImportOptionsKit & UnsetWireframes();
1530 
1533  ImportOptionsKit & UnsetPMI();
1534 
1537  ImportOptionsKit & UnsetAttributes();
1538 
1541  ImportOptionsKit & UnsetHiddenObjects();
1542 
1545  ImportOptionsKit & UnsetConstructionAndReferences();
1546 
1549  ImportOptionsKit & UnsetActiveFilter();
1550 
1553  ImportOptionsKit & UnsetDefaultUnits();
1554 
1557  ImportOptionsKit & UnsetPMISubstitutionFont();
1558 
1561  ImportOptionsKit & UnsetPMIPrecision();
1562 
1565  ImportOptionsKit & UnsetPMIDefaultUnits();
1566 
1569  ImportOptionsKit & UnsetPMIDefaultColor();
1570 
1573  ImportOptionsKit & UnsetTessellationLevel();
1574 
1577  ImportOptionsKit & UnsetTessellationAccuracy();
1578 
1581  ImportOptionsKit & UnsetTessellationPreservesUVPoints();
1582 
1585  ImportOptionsKit & UnsetTessellationMaximumEdgeLength();
1586 
1589  ImportOptionsKit & UnsetTextureDirectories();
1590 
1593  ImportOptionsKit & UnsetSearchDirectories();
1594 
1597  ImportOptionsKit & UnsetSearchDirectoriesByFile();
1598 
1601  ImportOptionsKit & UnsetConfiguration();
1602 
1605  ImportOptionsKit & UnsetCatiaV4LogicalNameForRootDirectory();
1606 
1609  ImportOptionsKit & UnsetCatiaV4LogicalNameSearching();
1610 
1613  ImportOptionsKit & UnsetCatiaV5Cache();
1614 
1617  ImportOptionsKit & UnsetUnigraphicsPreferredReferenceSets();
1618 
1621  ImportOptionsKit & UnsetUnigraphicsFittedCamera();
1622 
1625  ImportOptionsKit & UnsetProECodePageName();
1626 
1629  ImportOptionsKit & UnsetProEDimensionTolerance();
1630 
1633  ImportOptionsKit & UnsetProESubpartPMI();
1634 
1637  ImportOptionsKit & UnsetProESessionColor();
1638 
1641  ImportOptionsKit & UnsetSTEPNamePreference();
1642 
1645  ImportOptionsKit & UnsetSTEPFirstColorPreference();
1646 
1649  ImportOptionsKit & UnsetSTEPCodePageName();
1650 
1653  ImportOptionsKit & UnsetSTEPShellBasedSurfaceModelSplitting();
1654 
1657  ImportOptionsKit & UnsetSTEPOrientationHealing();
1658 
1661  ImportOptionsKit & UnsetIFCCodePageName();
1662 
1665  ImportOptionsKit & UnsetIFCAttributeXMLFile();
1666 
1669  ImportOptionsKit & UnsetIFCOwnerHistoryOptimization();
1670 
1673  ImportOptionsKit & UnsetIFCFaceOptimization();
1674 
1677  ImportOptionsKit & UnsetIFCEdges();
1678 
1681  ImportOptionsKit & UnsetIFCMetadata();
1682 
1685  ImportOptionsKit & UnsetPDF3DStreamIndex();
1686 
1689  ImportOptionsKit & UnsetJTTessellationLevel();
1690 
1693  ImportOptionsKit & UnsetAnnotationCaptureFitting();
1694 
1697  ImportOptionsKit & UnsetLocation();
1698 
1701  ImportOptionsKit & UnsetEverything();
1702 
1703 
1708  bool ShowBRepData(bool & out_state) const;
1709 
1713  bool ShowBRepMode(BRepMode & out_mode) const;
1714 
1718  bool ShowSolids(bool & out_state) const;
1719 
1723  bool ShowSurfaces(bool & out_state) const;
1724 
1728  bool ShowWireframes(bool & out_state) const;
1729 
1733  bool ShowPMI(bool & out_state) const;
1734 
1738  bool ShowAttributes(bool & out_state) const;
1739 
1743  bool ShowHiddenObjects(bool & out_state) const;
1744 
1748  bool ShowConstructionAndReferences(bool & out_state) const;
1749 
1753  bool ShowActiveFilter(bool & out_state) const;
1754 
1758  bool ShowDefaultUnits(Units & out_units) const;
1759 
1764  bool ShowPMISubstitutionFont(UTF8 & out_font_name, bool & out_always_substitute) const;
1765 
1769  bool ShowPMIPrecision(size_t & out_precision) const;
1770 
1774  bool ShowPMIDefaultUnits(Units & out_units) const;
1775 
1779  bool ShowPMIDefaultColor(RGBColor & out_color) const;
1780 
1788  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
1789 
1794  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
1795 
1799  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
1800 
1804  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
1805 
1809  bool ShowTextureDirectories(UTF8Array & out_directories);
1810 
1816  bool ShowSearchDirectories(UTF8Array & out_directories, UTF8Array & out_logical_names, BoolArray & out_recurse_flags) const;
1817 
1821  bool ShowSearchDirectoriesByFile(UTF8Array & out_file_names) const;
1822 
1826  bool ShowConfiguration(UTF8Array & out_configuration) const;
1827 
1831  bool ShowCatiaV4LogicalNameForRootDirectory(UTF8 & out_name) const;
1832 
1836  bool ShowCatiaV4LogicalNameSearching(bool & out_state) const;
1837 
1842  bool ShowCatiaV5Cache(bool & out_active, UTF8 & out_path) const;
1843 
1848  bool ShowUnigraphicsPreferredReferenceSets(UTF8Array & out_reference_sets, bool & out_apply_to_all_levels) const;
1849 
1853  bool ShowUnigraphicsFittedCamera(bool & out_state) const;
1854 
1858  bool ShowProECodePageName(UTF8 & out_name) const;
1859 
1863  bool ShowProEDimensionTolerance(bool & out_state) const;
1864 
1868  bool ShowProESubpartPMI(bool & out_state) const;
1869 
1873  bool ShowProESessionColor(ProE::SessionColor & out_type) const;
1874 
1878  bool ShowSTEPNamePreference(STEP::Field & out_field) const;
1879 
1883  bool ShowSTEPFirstColorPreference(bool & out_state) const;
1884 
1888  bool ShowSTEPCodePageName(UTF8 & out_name) const;
1889 
1893  bool ShowSTEPShellBasedSurfaceModelSplitting(bool & out_state) const;
1894 
1898  bool ShowSTEPOrientationHealing(bool & out_state) const;
1899 
1903  bool ShowIFCCodePageName(UTF8 & out_name) const;
1904 
1908  bool ShowIFCAttributeXMLFile(UTF8 & out_filename) const;
1909 
1913  bool ShowIFCOwnerHistoryOptimization(bool & out_state) const;
1914 
1918  bool ShowIFCFaceOptimization(bool & out_state) const;
1919 
1923  bool ShowIFCEdges(bool & out_state) const;
1924 
1928  bool ShowIFCMetadata(bool & out_state) const;
1929 
1933  bool ShowPDF3DStreamIndex(size_t & out_index) const;
1934 
1938  bool ShowJTTessellationLevel(JT::TessellationLevel & out_tessellation_level) const;
1939 
1943  bool ShowAnnotationCaptureFitting(AnnotationCaptureFitting & out_fitting) const;
1944 
1949  bool ShowLocation(ComponentPath & out_path, MatrixKit & out_transform) const;
1950  };
1951 
1952 
1953 
1958  class EXCHANGE_API ModelFileImportOptionsKit : public HPS::Sprocket
1959  {
1960  public:
1963 
1967 
1972 
1976  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit && in_that);
1977 
1978  virtual ~ModelFileImportOptionsKit();
1979 
1980  HPS::Type ObjectType() const { return HPS::Type::ExchangeModelFileImportOptionsKit; }
1981 
1985  static ModelFileImportOptionsKit GetDefault();
1986 
1989  void Set(ModelFileImportOptionsKit const & in_kit);
1990 
1993  void Show(ModelFileImportOptionsKit & out_kit) const;
1994 
1998  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit const & in_kit);
1999 
2002  bool Empty() const;
2003 
2007  bool Equals(ModelFileImportOptionsKit const & in_kit) const;
2008 
2012  bool operator==(ModelFileImportOptionsKit const & in_kit) const;
2013 
2017  bool operator!=(ModelFileImportOptionsKit const & in_kit) const;
2018 
2019 
2025  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
2026 
2033  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
2034 
2042  ModelFileImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
2043 
2049  ModelFileImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
2050 
2056  ModelFileImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
2057 
2064  ModelFileImportOptionsKit & SetIFCEdges(bool in_state);
2065 
2069  ModelFileImportOptionsKit & SetAnnotationCaptureFitting(AnnotationCaptureFitting in_fitting);
2070 
2083  ModelFileImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
2084 
2085 
2088  ModelFileImportOptionsKit & UnsetTessellationLevel();
2089 
2092  ModelFileImportOptionsKit & UnsetTessellationAccuracy();
2093 
2096  ModelFileImportOptionsKit & UnsetTessellationPreservesUVPoints();
2097 
2100  ModelFileImportOptionsKit & UnsetTessellationMaximumEdgeLength();
2101 
2104  ModelFileImportOptionsKit & UnsetIFCEdges();
2105 
2108  ModelFileImportOptionsKit & UnsetAnnotationCaptureFitting();
2109 
2112  ModelFileImportOptionsKit & UnsetLocation();
2113 
2116  ModelFileImportOptionsKit & UnsetEverything();
2117 
2118 
2126  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
2127 
2132  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
2133 
2137  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
2138 
2142  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
2143 
2147  bool ShowIFCEdges(bool & out_state) const;
2148 
2152  bool ShowAnnotationCaptureFitting(AnnotationCaptureFitting & out_fitting) const;
2153 
2158  bool ShowLocation(ComponentPath & out_path, MatrixKit & out_transform) const;
2159  };
2160 
2161 
2163  class EXCHANGE_API ExportACISOptionsKit : public HPS::Sprocket
2164  {
2165  public:
2168 
2172 
2176 
2177  virtual ~ExportACISOptionsKit();
2178 
2179  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportACISOptionsKit; }
2180 
2184  static ExportACISOptionsKit GetDefault();
2185 
2188  void Set(ExportACISOptionsKit const & in_kit);
2189 
2192  void Show(ExportACISOptionsKit & out_kit) const;
2193 
2197  ExportACISOptionsKit & operator=(ExportACISOptionsKit const & in_kit);
2198 
2202  ExportACISOptionsKit & operator=(ExportACISOptionsKit && in_that);
2203 
2206  bool Empty() const;
2207 
2211  bool Equals(ExportACISOptionsKit const & in_kit) const;
2212 
2216  bool operator==(ExportACISOptionsKit const & in_kit) const;
2217 
2221  bool operator!=(ExportACISOptionsKit const & in_kit) const;
2222 
2223 
2229  ExportACISOptionsKit & SetMillimeterUnits(bool in_state);
2230 
2236  ExportACISOptionsKit & SetBinary(bool in_state);
2237 
2238 
2241  ExportACISOptionsKit & UnsetMillimeterUnits();
2242 
2245  ExportACISOptionsKit & UnsetBinary();
2246 
2249  ExportACISOptionsKit & UnsetEverything();
2250 
2251 
2255  bool ShowMillimeterUnits(bool & out_state) const;
2256 
2260  bool ShowBinary(bool & out_state) const;
2261  };
2262 
2264  class EXCHANGE_API ExportIGESOptionsKit : public HPS::Sprocket
2265  {
2266  public:
2269 
2273 
2277 
2278  virtual ~ExportIGESOptionsKit();
2279 
2280  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportIGESOptionsKit; }
2281 
2285  static ExportIGESOptionsKit GetDefault();
2286 
2289  void Set(ExportIGESOptionsKit const & in_kit);
2290 
2293  void Show(ExportIGESOptionsKit & out_kit) const;
2294 
2298  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit const & in_kit);
2299 
2303  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit && in_that);
2304 
2307  bool Empty() const;
2308 
2312  bool Equals(ExportIGESOptionsKit const & in_kit) const;
2313 
2317  bool operator==(ExportIGESOptionsKit const & in_kit) const;
2318 
2322  bool operator!=(ExportIGESOptionsKit const & in_kit) const;
2323 
2324 
2330  ExportIGESOptionsKit & SetAnalyticsAsNURBS(bool in_state);
2331 
2337  ExportIGESOptionsKit & SetFacetedAsWireframe(bool in_state);
2338 
2344  ExportIGESOptionsKit & SetSolidsAsFaces(bool in_state);
2345 
2351  ExportIGESOptionsKit & SetHiddenObjects(bool in_state);
2352 
2358  ExportIGESOptionsKit & SetTessellation(bool in_state);
2359 
2363  ExportIGESOptionsKit & SetApplication(char const * in_name);
2364 
2368  ExportIGESOptionsKit & SetVersion(char const * in_version);
2369 
2370 
2373  ExportIGESOptionsKit & UnsetAnalyticsAsNURBS();
2374 
2377  ExportIGESOptionsKit & UnsetFacetedAsWireframe();
2378 
2381  ExportIGESOptionsKit & UnsetSolidsAsFaces();
2382 
2385  ExportIGESOptionsKit & UnsetHiddenObjects();
2386 
2389  ExportIGESOptionsKit & UnsetTessellation();
2390 
2393  ExportIGESOptionsKit & UnsetApplication();
2394 
2397  ExportIGESOptionsKit & UnsetVersion();
2398 
2401  ExportIGESOptionsKit & UnsetEverything();
2402 
2403 
2407  bool ShowAnalyticsAsNURBS(bool & out_state) const;
2408 
2412  bool ShowFacetedAsWireframe(bool & out_state) const;
2413 
2417  bool ShowSolidsAsFaces(bool & out_state) const;
2418 
2422  bool ShowHiddenObjects(bool & out_state) const;
2423 
2427  bool ShowTessellation(bool & out_state) const;
2428 
2432  bool ShowApplication(UTF8 & out_name) const;
2433 
2437  bool ShowVersion(UTF8 & out_version) const;
2438  };
2439 
2441  class EXCHANGE_API ExportJTOptionsKit : public HPS::Sprocket
2442  {
2443  public:
2446 
2449  ExportJTOptionsKit(ExportJTOptionsKit const & in_kit);
2450 
2454 
2455  virtual ~ExportJTOptionsKit();
2456 
2457  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportJTOptionsKit; }
2458 
2462  static ExportJTOptionsKit GetDefault();
2463 
2466  void Set(ExportJTOptionsKit const & in_kit);
2467 
2470  void Show(ExportJTOptionsKit & out_kit) const;
2471 
2475  ExportJTOptionsKit & operator=(ExportJTOptionsKit const & in_kit);
2476 
2480  ExportJTOptionsKit & operator=(ExportJTOptionsKit && in_that);
2481 
2484  bool Empty() const;
2485 
2489  bool Equals(ExportJTOptionsKit const & in_kit) const;
2490 
2494  bool operator==(ExportJTOptionsKit const & in_kit) const;
2495 
2499  bool operator!=(ExportJTOptionsKit const & in_kit) const;
2500 
2501 
2507  ExportJTOptionsKit & SetContent(JT::Content in_content);
2508 
2514  ExportJTOptionsKit & SetHiddenObjects(bool in_state);
2515 
2521  ExportJTOptionsKit & SetPMI(bool in_state);
2522 
2523 
2526  ExportJTOptionsKit & UnsetContent();
2527 
2530  ExportJTOptionsKit & UnsetHiddenObjects();
2531 
2534  ExportJTOptionsKit & UnsetPMI();
2535 
2538  ExportJTOptionsKit & UnsetEverything();
2539 
2540 
2544  bool ShowContent(JT::Content & out_content) const;
2545 
2549  bool ShowHiddenObjects(bool & out_state) const;
2550 
2554  bool ShowPMI(bool & out_state) const;
2555  };
2556 
2558  class EXCHANGE_API ExportParasolidOptionsKit : public HPS::Sprocket
2559  {
2560  public:
2563 
2567 
2571 
2572  virtual ~ExportParasolidOptionsKit();
2573 
2574  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportParasolidOptionsKit; }
2575 
2579  static ExportParasolidOptionsKit GetDefault();
2580 
2583  void Set(ExportParasolidOptionsKit const & in_kit);
2584 
2587  void Show(ExportParasolidOptionsKit & out_kit) const;
2588 
2592  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit const & in_kit);
2593 
2597  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit && in_that);
2598 
2601  bool Empty() const;
2602 
2606  bool Equals(ExportParasolidOptionsKit const & in_kit) const;
2607 
2611  bool operator==(ExportParasolidOptionsKit const & in_kit) const;
2612 
2616  bool operator!=(ExportParasolidOptionsKit const & in_kit) const;
2617 
2618 
2624  ExportParasolidOptionsKit & SetSolidsAsFaces(bool in_state);
2625 
2631  ExportParasolidOptionsKit & SetTessellation(bool in_state);
2632 
2638  ExportParasolidOptionsKit & SetHiddenObjects(bool in_state);
2639 
2643  ExportParasolidOptionsKit & SetApplication(char const * in_name);
2644 
2648  ExportParasolidOptionsKit & SetVersion(char const * in_version);
2649 
2650 
2653  ExportParasolidOptionsKit & UnsetSolidsAsFaces();
2654 
2657  ExportParasolidOptionsKit & UnsetTessellation();
2658 
2661  ExportParasolidOptionsKit & UnsetHiddenObjects();
2662 
2665  ExportParasolidOptionsKit & UnsetApplication();
2666 
2669  ExportParasolidOptionsKit & UnsetVersion();
2670 
2673  ExportParasolidOptionsKit & UnsetEverything();
2674 
2675 
2679  bool ShowSolidsAsFaces(bool & out_state) const;
2680 
2684  bool ShowTessellation(bool & out_state) const;
2685 
2689  bool ShowHiddenObjects(bool & out_state) const;
2690 
2694  bool ShowApplication(UTF8 & out_name) const;
2695 
2699  bool ShowVersion(UTF8 & out_version) const;
2700  };
2701 
2703  class EXCHANGE_API ExportPRCOptionsKit : public HPS::Sprocket
2704  {
2705  public:
2708 
2711  ExportPRCOptionsKit(ExportPRCOptionsKit const & in_kit);
2712 
2716 
2717  virtual ~ExportPRCOptionsKit();
2718 
2719  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportPRCOptionsKit; }
2720 
2724  static ExportPRCOptionsKit GetDefault();
2725 
2728  void Set(ExportPRCOptionsKit const & in_kit);
2729 
2732  void Show(ExportPRCOptionsKit & out_kit) const;
2733 
2737  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit const & in_kit);
2738 
2742  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit && in_that);
2743 
2746  bool Empty() const;
2747 
2751  bool Equals(ExportPRCOptionsKit const & in_kit) const;
2752 
2756  bool operator==(ExportPRCOptionsKit const & in_kit) const;
2757 
2761  bool operator!=(ExportPRCOptionsKit const & in_kit) const;
2762 
2763 
2769  ExportPRCOptionsKit & SetTessellationCompression(bool in_state);
2770 
2777  ExportPRCOptionsKit & SetBRepCompression(PRC::BRepCompression in_level);
2778 
2784  ExportPRCOptionsKit & SetBRepRemoval(bool in_state);
2785 
2791  ExportPRCOptionsKit & SetAttributeRemoval(bool in_state);
2792 
2793 
2796  ExportPRCOptionsKit & UnsetTessellationCompression();
2797 
2800  ExportPRCOptionsKit & UnsetBRepCompression();
2801 
2804  ExportPRCOptionsKit & UnsetBRepRemoval();
2805 
2808  ExportPRCOptionsKit & UnsetAttributeRemoval();
2809 
2812  ExportPRCOptionsKit & UnsetEverything();
2813 
2814 
2818  bool ShowTessellationCompression(bool & out_state) const;
2819 
2823  bool ShowBRepCompression(PRC::BRepCompression & out_level) const;
2824 
2828  bool ShowBRepRemoval(bool & out_state) const;
2829 
2833  bool ShowAttributeRemoval(bool & out_state) const;
2834  };
2835 
2837  class EXCHANGE_API ExportSTEPOptionsKit : public HPS::Sprocket
2838  {
2839  public:
2842 
2846 
2850 
2851  virtual ~ExportSTEPOptionsKit();
2852 
2853  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportSTEPOptionsKit; }
2854 
2858  static ExportSTEPOptionsKit GetDefault();
2859 
2862  void Set(ExportSTEPOptionsKit const & in_kit);
2863 
2866  void Show(ExportSTEPOptionsKit & out_kit) const;
2867 
2871  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit const & in_kit);
2872 
2876  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit && in_that);
2877 
2880  bool Empty() const;
2881 
2885  bool Equals(ExportSTEPOptionsKit const & in_kit) const;
2886 
2890  bool operator==(ExportSTEPOptionsKit const & in_kit) const;
2891 
2895  bool operator!=(ExportSTEPOptionsKit const & in_kit) const;
2896 
2897 
2903  ExportSTEPOptionsKit & SetFormat(STEP::Format in_format);
2904 
2910  ExportSTEPOptionsKit & SetAnalyticsAsNURBS(bool in_state);
2911 
2917  ExportSTEPOptionsKit & SetFacetedAsWireframe(bool in_state);
2918 
2924  ExportSTEPOptionsKit & SetNameShortening(bool in_state);
2925 
2929  ExportSTEPOptionsKit & SetApplication(char const * in_name);
2930 
2934  ExportSTEPOptionsKit & SetVersion(char const * in_version);
2935 
2936 
2939  ExportSTEPOptionsKit & UnsetFormat();
2940 
2943  ExportSTEPOptionsKit & UnsetAnalyticsAsNURBS();
2944 
2947  ExportSTEPOptionsKit & UnsetFacetedAsWireframe();
2948 
2951  ExportSTEPOptionsKit & UnsetNameShortening();
2952 
2955  ExportSTEPOptionsKit & UnsetApplication();
2956 
2959  ExportSTEPOptionsKit & UnsetVersion();
2960 
2963  ExportSTEPOptionsKit & UnsetEverything();
2964 
2965 
2969  bool ShowFormat(STEP::Format & out_format) const;
2970 
2974  bool ShowAnalyticsAsNURBS(bool & out_state) const;
2975 
2979  bool ShowFacetedAsWireframe(bool & out_state) const;
2980 
2984  bool ShowNameShortening(bool & out_state) const;
2985 
2989  bool ShowApplication(UTF8 & out_name) const;
2990 
2994  bool ShowVersion(UTF8 & out_version) const;
2995  };
2996 
2998  class EXCHANGE_API ExportSTLOptionsKit : public HPS::Sprocket
2999  {
3000  public:
3003 
3006  ExportSTLOptionsKit(ExportSTLOptionsKit const & in_kit);
3007 
3011 
3012  virtual ~ExportSTLOptionsKit();
3013 
3014  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportSTLOptionsKit; }
3015 
3019  static ExportSTLOptionsKit GetDefault();
3020 
3023  void Set(ExportSTLOptionsKit const & in_kit);
3024 
3027  void Show(ExportSTLOptionsKit & out_kit) const;
3028 
3032  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit const & in_kit);
3033 
3037  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit && in_that);
3038 
3041  bool Empty() const;
3042 
3046  bool Equals(ExportSTLOptionsKit const & in_kit) const;
3047 
3051  bool operator==(ExportSTLOptionsKit const & in_kit) const;
3052 
3056  bool operator!=(ExportSTLOptionsKit const & in_kit) const;
3057 
3058 
3064  ExportSTLOptionsKit & SetBinary(bool in_state);
3065 
3071  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
3072 
3079  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3080 
3086  ExportSTLOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type);
3087 
3093  ExportSTLOptionsKit & SetCurrentTessellationRetention(bool in_state);
3094 
3101  ExportSTLOptionsKit & SetMaximumEdgeLength(double in_length);
3102 
3103 
3106  ExportSTLOptionsKit & UnsetBinary();
3107 
3110  ExportSTLOptionsKit & UnsetTessellationLevel();
3111 
3114  ExportSTLOptionsKit & UnsetTessellationAccuracy();
3115 
3118  ExportSTLOptionsKit & UnsetCurrentTessellationRetention();
3119 
3122  ExportSTLOptionsKit & UnsetMaximumEdgeLength();
3123 
3126  ExportSTLOptionsKit & UnsetEverything();
3127 
3128 
3132  bool ShowBinary(bool & out_state) const;
3133 
3141  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3142 
3146  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type) const;
3147 
3151  bool ShowCurrentTessellationRetention(bool & out_state) const;
3152 
3156  bool ShowMaximumEdgeLength(double & out_length) const;
3157  };
3158 
3160  class EXCHANGE_API ExportU3DOptionsKit : public HPS::Sprocket
3161  {
3162  public:
3165 
3168  ExportU3DOptionsKit(ExportU3DOptionsKit const & in_kit);
3169 
3173 
3174  virtual ~ExportU3DOptionsKit();
3175 
3176  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportU3DOptionsKit; }
3177 
3181  static ExportU3DOptionsKit GetDefault();
3182 
3185  void Set(ExportU3DOptionsKit const & in_kit);
3186 
3189  void Show(ExportU3DOptionsKit & out_kit) const;
3190 
3194  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit const & in_kit);
3195 
3199  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit && in_that);
3200 
3203  bool Empty() const;
3204 
3208  bool Equals(ExportU3DOptionsKit const & in_kit) const;
3209 
3213  bool operator==(ExportU3DOptionsKit const & in_kit) const;
3214 
3218  bool operator!=(ExportU3DOptionsKit const & in_kit) const;
3219 
3220 
3226  ExportU3DOptionsKit & SetVersion(U3D::Version in_version);
3227 
3232  ExportU3DOptionsKit & SetCompression(unsigned char in_level);
3233 
3234 
3237  ExportU3DOptionsKit & UnsetVersion();
3238 
3241  ExportU3DOptionsKit & UnsetCompression();
3242 
3245  ExportU3DOptionsKit & UnsetEverything();
3246 
3247 
3251  bool ShowVersion(U3D::Version & out_version) const;
3252 
3256  bool ShowCompression(unsigned char & out_level) const;
3257  };
3258 
3260  class EXCHANGE_API ExportXMLOptionsKit : public HPS::Sprocket
3261  {
3262  public:
3265 
3268  ExportXMLOptionsKit(ExportXMLOptionsKit const & in_kit);
3269 
3273 
3274  virtual ~ExportXMLOptionsKit();
3275 
3276  HPS::Type ObjectType() const { return HPS::Type::ExchangeExportXMLOptionsKit; }
3277 
3281  static ExportXMLOptionsKit GetDefault();
3282 
3285  void Set(ExportXMLOptionsKit const & in_kit);
3286 
3289  void Show(ExportXMLOptionsKit & out_kit) const;
3290 
3294  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit const & in_kit);
3295 
3299  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit && in_that);
3300 
3303  bool Empty() const;
3304 
3308  bool Equals(ExportXMLOptionsKit const & in_kit) const;
3309 
3313  bool operator==(ExportXMLOptionsKit const & in_kit) const;
3314 
3318  bool operator!=(ExportXMLOptionsKit const & in_kit) const;
3319 
3320 
3326  ExportXMLOptionsKit & SetMetadata(bool in_state);
3327 
3333  ExportXMLOptionsKit & SetTransformations(bool in_state);
3334 
3340  ExportXMLOptionsKit & SetMaterials(bool in_state);
3341 
3342 
3345  ExportXMLOptionsKit & UnsetMetadata();
3346 
3349  ExportXMLOptionsKit & UnsetTransformations();
3350 
3353  ExportXMLOptionsKit & UnsetMaterials();
3354 
3357  ExportXMLOptionsKit & UnsetEverything();
3358 
3359 
3363  bool ShowMetadata(bool & out_state) const;
3364 
3368  bool ShowTransformations(bool & out_state) const;
3369 
3373  bool ShowMaterials(bool & out_state) const;
3374  };
3375 
3377  class EXCHANGE_API TessellationOptionsKit : public HPS::Sprocket
3378  {
3379  public:
3382 
3386 
3390 
3391  virtual ~TessellationOptionsKit();
3392 
3393  HPS::Type ObjectType() const { return HPS::Type::ExchangeTessellationOptionsKit; }
3394 
3398  static TessellationOptionsKit GetDefault();
3399 
3402  void Set(TessellationOptionsKit const & in_kit);
3403 
3406  void Show(TessellationOptionsKit & out_kit) const;
3407 
3411  TessellationOptionsKit & operator=(TessellationOptionsKit const & in_kit);
3412 
3416  TessellationOptionsKit & operator=(TessellationOptionsKit && in_that);
3417 
3420  bool Empty() const;
3421 
3425  bool Equals(TessellationOptionsKit const & in_kit) const;
3426 
3430  bool operator==(TessellationOptionsKit const & in_kit) const;
3431 
3435  bool operator!=(TessellationOptionsKit const & in_kit) const;
3436 
3437 
3441  TessellationOptionsKit & SetLevel(Tessellation::Level in_level);
3442 
3449  TessellationOptionsKit & SetLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3450 
3456  TessellationOptionsKit & SetAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
3457 
3461  TessellationOptionsKit & SetUVPointPreservation(bool in_state);
3462 
3466  TessellationOptionsKit & SetMaximumEdgeLength(double in_length);
3467 
3468 
3471  TessellationOptionsKit & UnsetLevel();
3472 
3475  TessellationOptionsKit & UnsetAccuracy();
3476 
3479  TessellationOptionsKit & UnsetUVPointPreservation();
3480 
3483  TessellationOptionsKit & UnsetMaximumEdgeLength();
3484 
3487  TessellationOptionsKit & UnsetEverything();
3488 
3489 
3497  bool ShowLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3498 
3503  bool ShowAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
3504 
3508  bool ShowUVPointPreservation(bool & out_state) const;
3509 
3513  bool ShowMaximumEdgeLength(double & out_length) const;
3514  };
3515 
3516 private:
3518  Exchange();
3519 };
3520 
3521 }
3522 
3523 #endif
Definition: sprk_exchange.h:2703
Level
Definition: sprk_exchange.h:642
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2457
Definition: sprk_exchange.h:43
Definition: sprk_exchange.h:744
Definition: sprk.h:238
HPS::Type ObjectType() const
Definition: sprk_exchange.h:169
Definition: sprk_exchange.h:885
Units
Definition: sprk_exchange.h:61
Definition: sprk.h:69
Definition: sprk_exchange.h:452
Version
Definition: sprk_exchange.h:790
Definition: sprk_exchange.h:1958
Definition: sprk_exchange.h:652
Definition: sprk_exchange.h:551
HPS::Type ObjectType() const
Definition: sprk_exchange.h:533
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3276
Format
Definition: sprk_exchange.h:732
HPS::Type ObjectType() const
Definition: sprk_exchange.h:579
Definition: sprk_exchange.h:3260
Definition: sprk.h:927
Format
Definition: sprk_exchange.h:890
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2719
Type
Definition: sprk_exchange.h:633
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2280
Definition: sprk_exchange.h:315
Definition: sprk_exchange.h:399
Definition: sprk_exchange.h:192
HPS::Type ObjectType() const
Definition: sprk_exchange.h:296
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2574
HPS::Type ObjectType() const
Definition: sprk_exchange.h:99
Definition: sprk_exchange.h:137
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3014
HPS::Type ObjectType() const
Definition: sprk_exchange.h:218
Definition: sprk_exchange.h:2441
Field
Definition: sprk_exchange.h:722
HPS::Type ObjectType() const
Definition: sprk_exchange.h:839
Definition: sprk_exchange.h:2163
Limit
Definition: sprk_exchange.h:657
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2853
TessellationLevel
Definition: sprk_exchange.h:704
Definition: sprk_exchange.h:628
Definition: sprk_exchange.h:2998
Definition: sprk_exchange.h:78
Definition: sprk_exchange.h:717
Definition: hps.h:4216
Definition: hps.h:6760
Definition: sprk_exchange.h:270
AnnotationCaptureFitting
Definition: sprk_exchange.h:621
Definition: sprk_exchange.h:3160
Definition: sprk_exchange.h:690
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2179
Definition: hps.h:14259
Definition: sprk_exchange.h:785
SessionColor
Definition: sprk_exchange.h:768
Definition: sprk.h:1512
Definition: hps.h:42090
Definition: sprk_exchange.h:359
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3393
Definition: sprk.h:430
HPS::Type ObjectType() const
Definition: sprk_exchange.h:1057
BRepCompression
Definition: sprk_exchange.h:749
Definition: sprk_parasolid.h:39
BRepMode
Definition: sprk_exchange.h:606
Definition: sprk.h:1765
ComponentType
Definition: sprk.h:1517
Accuracy
Definition: sprk_exchange.h:674
Definition: sprk_exchange.h:2264
Definition: sprk.h:2076
Content
Definition: sprk_exchange.h:695
Definition: sprk_exchange.h:1035
HPS::Type ObjectType() const
Definition: sprk_exchange.h:1980
HPS::Type ObjectType() const
Definition: sprk_exchange.h:480
Definition: sprk.h:2174
Definition: sprk_exchange.h:763
HPS::Type ObjectType() const
Definition: sprk_exchange.h:341
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3176
Definition: sprk_exchange.h:505
Definition: sprk.h:2260
Definition: sprk_exchange.h:802
static Model CreateModel(char const *in_name="")
Definition: sprk_exchange.h:2558
Definition: sprk_exchange.h:3377
HPS::Type ObjectType() const
Definition: sprk_exchange.h:427
Definition: sprk_exchange.h:2837