< Home

< Table of Contents

REFERENCE MANUAL

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 
52  typedef std::vector<Configuration, Allocator<Configuration> > ConfigurationArray;
53  typedef std::vector<Sheet, Allocator<Sheet> > SheetArray;
54  typedef IntArray ParasolidEntityArray;
55 
58  enum class Units
59  {
60  Unknown,
61  Point,
62  Inch,
63  Millimeter,
64  Centimeter,
65  Pica,
66  Foot,
67  Yard,
68  Meter,
69  Kilometer,
70  Mile
71  };
72 
73  class TranslationNotifier;
74  class ExportParasolidOptionsKit;
75 
78  class EXCHANGE_API Component : public Component
79  {
80  public:
82  Component();
83 
87  Component(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  Type ObjectType() const { return 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  };
130 
132  class EXCHANGE_API Sheet : public Exchange::Component
133  {
134  public:
136  Sheet();
137 
141  Sheet(Component const & in_that);
142 
146  Sheet(Component const & in_that);
147 
150  Sheet(Sheet const & in_sheet);
151 
155  Sheet(Sheet && in_that);
156 
160  Sheet & operator=(Sheet && in_that);
161 
162  virtual ~Sheet();
163 
164  Type ObjectType() const { return Type::ExchangeSheet; }
165 
169  bool Equals(Sheet const & in_kit) const;
170 
174  bool operator==(Sheet const & in_kit) const;
175 
179  bool operator!=(Sheet const & in_kit) const;
180 
181  /* Activates this sheet */
182  View Activate();
183  };
184 
187  class EXCHANGE_API CADModel : public CADModel
188  {
189  public:
191  CADModel();
192 
196  CADModel(Component const & in_that);
197 
201  CADModel(CADModel const & in_that);
202 
205  CADModel(Exchange::CADModel const & in_that);
206 
209  CADModel(Exchange::CADModel && in_that);
210 
211  virtual ~CADModel();
212 
213  Type ObjectType() const { return Type::ExchangeCADModel; }
214 
215 #ifndef _MSC_VER
216  CADModel & operator=(Exchange::CADModel const & in_that) = default;
217 #endif
218 
222  CADModel & operator=(Exchange::CADModel && in_that);
223 
224 
227  A3DEntity * GetExchangeEntity() const;
228 
234  bool GetEntityOwnership() const;
235 
236 
240  UTF8Array GetCurrentConfiguration() const;
241 
245  ConfigurationArray GetConfigurations() const;
246 
247  /* Gets a list of sheets for this CADModel (if any). Only formats which support the concept of sheets can return a non-empty array.
248  * \return The list of sheets for this CADModel */
249  SheetArray GetSheets() const;
250 
256  TranslationNotifier Translate(ExportParasolidOptionsKit const & in_options);
257  };
258 
261  class EXCHANGE_API Capture : public Capture
262  {
263  public:
265  Capture();
266 
270  Capture(Component const & in_that);
271 
275  Capture(Capture const & in_that);
276 
279  Capture(Exchange::Capture const & in_that);
280 
283  Capture(Exchange::Capture && in_that);
284 
285  virtual ~Capture();
286 
287  Type ObjectType() const { return Type::ExchangeCapture; }
288 
289 #ifndef _MSC_VER
290  Capture & operator=(Exchange::Capture const & in_that) = default;
291 #endif
292 
296  Capture & operator=(Exchange::Capture && in_that);
297 
298 
301  A3DEntity * GetExchangeEntity() const;
302  };
303 
306  class EXCHANGE_API Filter : public Filter
307  {
308  public:
310  Filter();
311 
315  Filter(Component const & in_that);
316 
320  Filter(Filter const & in_that);
321 
324  Filter(Exchange::Filter const & in_that);
325 
328  Filter(Exchange::Filter && in_that);
329 
330  virtual ~Filter();
331 
332  Type ObjectType() const { return Type::ExchangeFilter; }
333 
334 #ifndef _MSC_VER
335  Filter & operator=(Exchange::Filter const & in_that) = default;
336 #endif
337 
341  Filter & operator=(Exchange::Filter && in_that);
342 
343 
346  A3DEntity * GetExchangeEntity() const;
347  };
348 
350  class EXCHANGE_API Factory : public Sprocket
351  {
352  public:
357  static Component CreateComponent(Component const & in_owner, Component::ComponentType in_type, A3DEntity * in_entity = nullptr);
358 
364  static CADModel CreateCADModel(Model const & in_model = Factory::CreateModel(), A3DAsmModelFile * in_entity = nullptr, bool in_owns_entity = false);
365 
369  static Filter CreateFilter(Component const & in_owner, A3DEntity * in_entity = nullptr);
370 
377  static Capture CreateCapture(Component const & in_owner, A3DEntity * in_entity = nullptr, bool in_is_default = false);
378 
382  static Sheet CreateSheet(Component const & in_owner, A3DEntity * in_entity = nullptr);
383 
384  private:
386  Factory();
387  };
388 
390  class EXCHANGE_API ImportNotifier : public IONotifier
391  {
392  public:
394  ImportNotifier();
395 
398  ImportNotifier(ImportNotifier const & in_that);
399 
404  ImportNotifier(IONotifier const & in_that);
405 
409  ImportNotifier(ImportNotifier && in_that);
410 
414  ImportNotifier & operator=(ImportNotifier && in_that);
415 
416  virtual ~ImportNotifier();
417 
418  Type ObjectType() const { return Type::ExchangeImportNotifier; };
419 
423  ImportNotifier & operator=(ImportNotifier const & in_that);
424 
427  void Assign(ImportNotifier const & in_that);
428 
431  Exchange::CADModel GetCADModel() const;
432  };
433 
435  class EXCHANGE_API TranslationNotifier : public IONotifier
436  {
437  public:
440 
443  TranslationNotifier(TranslationNotifier const & in_that);
444 
449  TranslationNotifier(IONotifier const & in_that);
450 
455 
459  TranslationNotifier & operator=(TranslationNotifier && in_that);
460 
461  virtual ~TranslationNotifier();
462 
463  Type ObjectType() const { return Type::ExchangeTranslationNotifier; };
464 
468  TranslationNotifier & operator=(TranslationNotifier const & in_that);
469 
472  void Assign(TranslationNotifier const & in_that);
473 
476  Exchange::ParasolidEntityArray GetParasolidParts() const;
477 
480  Time GetModelLoadTime() const;
481 
484  Time GetTranslationTime() const;
485  };
486 
488  class EXCHANGE_API ExportNotifier : public IONotifier
489  {
490  public:
492  ExportNotifier();
493 
496  ExportNotifier(ExportNotifier const & in_that);
497 
502  ExportNotifier(IONotifier const & in_that);
503 
507  ExportNotifier(ExportNotifier && in_that);
508 
512  ExportNotifier & operator=(ExportNotifier && in_that);
513 
514  virtual ~ExportNotifier();
515 
516  Type ObjectType() const { return Type::ExchangeExportNotifier; };
517 
521  ExportNotifier & operator=(ExportNotifier const & in_that);
522 
525  void Assign(ExportNotifier const & in_that);
526 
530  A3DAsmModelFile * GetModelFile() const;
531  };
532 
533 
534  class ImportOptionsKit;
535  class ModelFileImportOptionsKit;
536  class ExportACISOptionsKit;
537  class ExportIGESOptionsKit;
538  class ExportJTOptionsKit;
539  class ExportPRCOptionsKit;
540  class ExportSTEPOptionsKit;
541  class ExportSTLOptionsKit;
542  class ExportU3DOptionsKit;
543  class ExportXMLOptionsKit;
544 
545 
548  enum class BRepMode
549  {
552  TessellationOnly,
555  BRepOnly,
558  BRepAndTessellation,
559  };
560 
562  class EXCHANGE_API Tessellation
563  {
564  public:
567  enum class Type
568  {
569  Standard,
570  Custom
571  };
572 
573 
576  enum class Level
577  {
578  ExtraLow,
579  Low,
580  Medium,
581  High,
582  ExtraHigh,
583  };
584 
586  class EXCHANGE_API Chord
587  {
588  public:
591  enum class Limit
592  {
595  Ratio,
598  Height
599  };
600 
601  private:
603  Chord();
604  };
605 
608  enum class Accuracy
609  {
612  Standard,
615  Accurate
616  };
617 
618  private:
620  Tessellation();
621  };
622 
624  class EXCHANGE_API JT
625  {
626  public:
629  enum class Content
630  {
631  Geometry,
632  Tessellation,
633  GeometryAndTessellation
634  };
635 
638  enum class TessellationLevel
639  {
640  Low,
641  Medium,
642  High,
643  };
644 
645  private:
647  JT();
648  };
649 
651  class EXCHANGE_API STEP
652  {
653  public:
656  enum class Field
657  {
658  ProductName,
659  NextAssemblyUsageOccurrenceID,
660  NextAssemblyUsageOccurrenceName,
661  NextAssemblyUsageOccurrenceDescription
662  };
663 
666  enum class Format
667  {
668  AP203,
669  AP214
670  };
671 
672  private:
674  STEP();
675  };
676 
678  class EXCHANGE_API PRC
679  {
680  public:
683  enum class BRepCompression
684  {
685  None,
686  Low,
687  Medium,
688  High
689  };
690 
691  private:
693  PRC();
694  };
695 
697  class EXCHANGE_API ProE
698  {
699  public:
702  enum class SessionColor
703  {
705  LastCreoVersion,
707  ExchangeDefault,
710  UserDefined
711  };
712 
713  private:
715  ProE();
716  };
717 
719  class EXCHANGE_API U3D
720  {
721  public:
724  enum class Version
725  {
726  ECMA1,
727  ECMA3
728  };
729 
730  private:
732  U3D();
733  };
734 
736  class EXCHANGE_API Configuration : public Sprocket
737  {
738  public:
740  Configuration();
741 
744  Configuration(char const * in_name);
745 
750  Configuration(char const * in_name, size_t in_count, Configuration const in_subconfigurations[]);
751 
755  Configuration(char const * in_name, ConfigurationArray const & in_subconfigurations);
756 
759  Configuration(Configuration const & in_configuration);
760 
764  Configuration(Configuration && in_that);
765 
769  Configuration & operator=(Configuration && in_that);
770 
771  virtual ~Configuration();
772 
773  Type ObjectType() const { return Type::ExchangeConfiguration; }
774 
775 
778  void Set(Configuration const & in_kit);
779 
782  void Show(Configuration & out_kit) const;
783 
787  Configuration & operator=(Configuration const & in_kit);
788 
791  bool Empty() const;
792 
796  bool Equals(Configuration const & in_kit) const;
797 
801  bool operator==(Configuration const & in_kit) const;
802 
806  bool operator!=(Configuration const & in_kit) const;
807 
808 
811  UTF8 GetName() const;
812 
815  ConfigurationArray GetSubconfigurations() const;
816  };
817 
819  class EXCHANGE_API File
820  {
821  public:
824  enum class Format
825  {
826  Unsupported,
827  ACIS,
828  CADDS,
829  CATIAV4,
830  CATIAV5,
831  CGR,
832  COLLADA,
833  CreoProE,
834  IDEAS,
835  IFC,
836  IGES,
837  Inventor,
838  JT,
839  KeyholeMarkupLanguage,
840  LatticeXVL,
841  OneSpaceDesigner,
842  Parasolid,
843  PDF,
844  PRC,
845  Rhino,
846  NXUnigraphics,
847  SolidEdge,
848  SolidWorks,
849  STEP,
850  StereoLithography,
851  ThreeDStudioMax,
852  ThreeDXML,
853  Universal3D,
854  VDAFS,
855  VRML,
856  WavefrontObject,
857  };
858 
860  static Format GetFormat(char const * in_file_name);
861 
865  static ConfigurationArray GetConfigurations(char const * in_file_name);
866 
873  static ImportNotifier Import(char const * in_file_name, ImportOptionsKit const & in_options);
874 
881  static ImportNotifier Import(A3DAsmModelFile const * in_model_file, ModelFileImportOptionsKit const & in_options);
882 
883 
890  static TranslationNotifier Translate(char const * in_file_name, ImportOptionsKit const & in_options, ExportParasolidOptionsKit const & in_parasolid_options);
891 
896  static void ExportACIS(CADModel const & in_cad_model, char const * in_file_name, ExportACISOptionsKit const & in_options);
897 
902  static void ExportIGES(CADModel const & in_cad_model, char const * in_file_name, ExportIGESOptionsKit const & in_options);
903 
908  static void ExportJT(CADModel const & in_cad_model, char const * in_file_name, ExportJTOptionsKit const & in_options);
909 
914  static void ExportParasolid(CADModel const & in_cad_model, char const * in_file_name, ExportParasolidOptionsKit const & in_options);
915 
920  static void ExportPRC(CADModel const & in_cad_model, char const * in_file_name, ExportPRCOptionsKit const & in_options);
921 
927  static ExportNotifier ExportPRC(SprocketPath const & in_source, char const * in_file_name, bool in_compress_tessellation = false);
928 
932  static ExportNotifier ExportPRC(SprocketPath const & in_source);
933 
938  static void ExportSTEP(CADModel const & in_cad_model, char const * in_file_name, ExportSTEPOptionsKit const & in_options);
939 
944  static void ExportSTL(CADModel const & in_cad_model, char const * in_file_name, ExportSTLOptionsKit const & in_options);
945 
950  static void ExportU3D(CADModel const & in_cad_model, char const * in_file_name, ExportU3DOptionsKit const & in_options);
951 
955  static void ExportVRML(CADModel const & in_cad_model, char const * in_file_name);
956 
961  static void ExportXML(CADModel const & in_cad_model, char const * in_file_name, ExportXMLOptionsKit const & in_options);
962 
963  private:
965  File();
966  };
967 
969  class EXCHANGE_API ImportOptionsKit : public Sprocket
970  {
971  public:
974 
977  ImportOptionsKit(ImportOptionsKit const & in_kit);
978 
983 
987  ImportOptionsKit & operator=(ImportOptionsKit && in_that);
988 
989  virtual ~ImportOptionsKit();
990 
991  Type ObjectType() const { return Type::ExchangeImportOptionsKit; }
992 
996  static ImportOptionsKit GetDefault();
997 
1000  void Set(ImportOptionsKit const & in_kit);
1001 
1004  void Show(ImportOptionsKit & out_kit) const;
1005 
1009  ImportOptionsKit & operator=(ImportOptionsKit const & in_kit);
1010 
1013  bool Empty() const;
1014 
1018  bool Equals(ImportOptionsKit const & in_kit) const;
1019 
1023  bool operator==(ImportOptionsKit const & in_kit) const;
1024 
1028  bool operator!=(ImportOptionsKit const & in_kit) const;
1029 
1030 
1036  ImportOptionsKit & SetBRepData(bool in_state);
1037 
1043  ImportOptionsKit & SetBRepMode(BRepMode in_mode);
1044 
1050  ImportOptionsKit & SetSolids(bool in_state);
1051 
1057  ImportOptionsKit & SetSurfaces(bool in_state);
1058 
1064  ImportOptionsKit & SetWireframes(bool in_state);
1065 
1071  ImportOptionsKit & SetPMI(bool in_state);
1072 
1079  ImportOptionsKit & SetAttributes(bool in_state);
1080 
1086  ImportOptionsKit & SetHiddenObjects(bool in_state);
1087 
1093  ImportOptionsKit & SetConstructionAndReferences(bool in_state);
1094 
1100  ImportOptionsKit & SetActiveFilter(bool in_state);
1101 
1107  ImportOptionsKit & SetDefaultUnits(Units in_units);
1108 
1115  ImportOptionsKit & SetPMISubstitutionFont(char const * in_font_name, bool in_always_substitute = false);
1116 
1122  ImportOptionsKit & SetPMIPrecision(size_t in_precision);
1123 
1129  ImportOptionsKit & SetPMIDefaultUnits(Units in_units);
1130 
1136  ImportOptionsKit & SetPMIDefaultColor(RGBColor const & in_color);
1137 
1143  ImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
1144 
1151  ImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
1152 
1160  ImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
1161 
1167  ImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
1168 
1174  ImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
1175 
1181  ImportOptionsKit & SetTextureDirectories(size_t in_count, UTF8 const in_directories[]);
1182 
1187  ImportOptionsKit & SetTextureDirectories(UTF8Array const & in_directories);
1188 
1195  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], bool const in_recurse_flags[]);
1196 
1202  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, BoolArray const & in_recurse_flags);
1203 
1212  ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], UTF8 const in_logical_names[], bool const in_recurse_flags[]);
1213 
1222  ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, UTF8Array const & in_logical_names, BoolArray const & in_recurse_flags);
1223 
1229  ImportOptionsKit & SetSearchDirectoriesByFile(size_t in_count, UTF8 const in_file_names[]);
1230 
1235  ImportOptionsKit & SetSearchDirectoriesByFile(UTF8Array const & in_file_names);
1236 
1241  ImportOptionsKit & SetConfiguration(char const * in_configuration);
1242 
1248  ImportOptionsKit & SetConfiguration(size_t in_count, UTF8 const in_configuration[]);
1249 
1254  ImportOptionsKit & SetConfiguration(UTF8Array const & in_configuration);
1255 
1261  ImportOptionsKit & SetCatiaV4LogicalNameForRootDirectory(char const * in_name);
1262 
1269  ImportOptionsKit & SetCatiaV4LogicalNameSearching(bool in_state);
1270 
1277  ImportOptionsKit & SetCatiaV5Cache(bool in_active, char const * in_path);
1278 
1286  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(size_t in_count, UTF8 const in_reference_sets[], bool in_apply_to_all_levels);
1287 
1294  ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(UTF8Array const & in_reference_sets, bool in_apply_to_all_levels);
1295 
1301  ImportOptionsKit & SetUnigraphicsFittedCamera(bool in_state);
1302 
1308  ImportOptionsKit & SetProECodePageName(char const * in_name);
1309 
1315  ImportOptionsKit & SetProEDimensionTolerance(bool in_state);
1316 
1322  ImportOptionsKit & SetProESubpartPMI(bool in_state);
1323 
1329  ImportOptionsKit & SetProESessionColor(ProE::SessionColor in_type);
1330 
1337  ImportOptionsKit & SetSTEPNamePreference(STEP::Field in_field);
1338 
1344  ImportOptionsKit & SetSTEPCodePageName(char const * in_name);
1345 
1351  ImportOptionsKit & SetSTEPFirstColorPreference(bool in_state);
1352 
1358  ImportOptionsKit & SetSTEPShellBasedSurfaceModelSplitting(bool in_state);
1359 
1365  ImportOptionsKit & SetSTEPOrientationHealing(bool in_state);
1366 
1372  ImportOptionsKit & SetIFCCodePageName(char const * in_name);
1373 
1380  ImportOptionsKit & SetIFCAttributeXMLFile(char const * in_filename);
1381 
1387  ImportOptionsKit & SetIFCOwnerHistoryOptimization(bool in_state);
1388 
1394  ImportOptionsKit & SetIFCFaceOptimization(bool in_state);
1395 
1402  ImportOptionsKit & SetIFCEdges(bool in_state);
1403 
1409  ImportOptionsKit & SetIFCMetadata(bool in_state);
1410 
1416  ImportOptionsKit & SetPDF3DStreamIndex(size_t in_index);
1417 
1423  ImportOptionsKit & SetJTTessellationLevel(JT::TessellationLevel in_jt_tessellation_level);
1424 
1425 
1429  ImportOptionsKit & UnsetBRepData();
1430 
1433  ImportOptionsKit & UnsetBRepMode();
1434 
1437  ImportOptionsKit & UnsetSolids();
1438 
1441  ImportOptionsKit & UnsetSurfaces();
1442 
1445  ImportOptionsKit & UnsetWireframes();
1446 
1449  ImportOptionsKit & UnsetPMI();
1450 
1453  ImportOptionsKit & UnsetAttributes();
1454 
1457  ImportOptionsKit & UnsetHiddenObjects();
1458 
1461  ImportOptionsKit & UnsetConstructionAndReferences();
1462 
1465  ImportOptionsKit & UnsetActiveFilter();
1466 
1469  ImportOptionsKit & UnsetDefaultUnits();
1470 
1473  ImportOptionsKit & UnsetPMISubstitutionFont();
1474 
1477  ImportOptionsKit & UnsetPMIPrecision();
1478 
1481  ImportOptionsKit & UnsetPMIDefaultUnits();
1482 
1485  ImportOptionsKit & UnsetPMIDefaultColor();
1486 
1489  ImportOptionsKit & UnsetTessellationLevel();
1490 
1493  ImportOptionsKit & UnsetTessellationAccuracy();
1494 
1497  ImportOptionsKit & UnsetTessellationPreservesUVPoints();
1498 
1501  ImportOptionsKit & UnsetTessellationMaximumEdgeLength();
1502 
1505  ImportOptionsKit & UnsetTextureDirectories();
1506 
1509  ImportOptionsKit & UnsetSearchDirectories();
1510 
1513  ImportOptionsKit & UnsetSearchDirectoriesByFile();
1514 
1517  ImportOptionsKit & UnsetConfiguration();
1518 
1521  ImportOptionsKit & UnsetCatiaV4LogicalNameForRootDirectory();
1522 
1525  ImportOptionsKit & UnsetCatiaV4LogicalNameSearching();
1526 
1529  ImportOptionsKit & UnsetCatiaV5Cache();
1530 
1533  ImportOptionsKit & UnsetUnigraphicsPreferredReferenceSets();
1534 
1537  ImportOptionsKit & UnsetUnigraphicsFittedCamera();
1538 
1541  ImportOptionsKit & UnsetProECodePageName();
1542 
1545  ImportOptionsKit & UnsetProEDimensionTolerance();
1546 
1549  ImportOptionsKit & UnsetProESubpartPMI();
1550 
1553  ImportOptionsKit & UnsetProESessionColor();
1554 
1557  ImportOptionsKit & UnsetSTEPNamePreference();
1558 
1561  ImportOptionsKit & UnsetSTEPFirstColorPreference();
1562 
1565  ImportOptionsKit & UnsetSTEPCodePageName();
1566 
1569  ImportOptionsKit & UnsetSTEPShellBasedSurfaceModelSplitting();
1570 
1573  ImportOptionsKit & UnsetSTEPOrientationHealing();
1574 
1577  ImportOptionsKit & UnsetIFCCodePageName();
1578 
1581  ImportOptionsKit & UnsetIFCAttributeXMLFile();
1582 
1585  ImportOptionsKit & UnsetIFCOwnerHistoryOptimization();
1586 
1589  ImportOptionsKit & UnsetIFCFaceOptimization();
1590 
1593  ImportOptionsKit & UnsetIFCEdges();
1594 
1597  ImportOptionsKit & UnsetIFCMetadata();
1598 
1601  ImportOptionsKit & UnsetPDF3DStreamIndex();
1602 
1605  ImportOptionsKit & UnsetJTTessellationLevel();
1606 
1609  ImportOptionsKit & UnsetEverything();
1610 
1611 
1616  bool ShowBRepData(bool & out_state) const;
1617 
1621  bool ShowBRepMode(BRepMode & out_mode) const;
1622 
1626  bool ShowSolids(bool & out_state) const;
1627 
1631  bool ShowSurfaces(bool & out_state) const;
1632 
1636  bool ShowWireframes(bool & out_state) const;
1637 
1641  bool ShowPMI(bool & out_state) const;
1642 
1646  bool ShowAttributes(bool & out_state) const;
1647 
1651  bool ShowHiddenObjects(bool & out_state) const;
1652 
1656  bool ShowConstructionAndReferences(bool & out_state) const;
1657 
1661  bool ShowActiveFilter(bool & out_state) const;
1662 
1666  bool ShowDefaultUnits(Units & out_units) const;
1667 
1672  bool ShowPMISubstitutionFont(UTF8 & out_font_name, bool & out_always_substitute) const;
1673 
1677  bool ShowPMIPrecision(size_t & out_precision) const;
1678 
1682  bool ShowPMIDefaultUnits(Units & out_units) const;
1683 
1687  bool ShowPMIDefaultColor(RGBColor & out_color) const;
1688 
1696  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
1697 
1702  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
1703 
1707  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
1708 
1712  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
1713 
1717  bool ShowTextureDirectories(UTF8Array & out_directories);
1718 
1724  bool ShowSearchDirectories(UTF8Array & out_directories, UTF8Array & out_logical_names, BoolArray & out_recurse_flags) const;
1725 
1729  bool ShowSearchDirectoriesByFile(UTF8Array & out_file_names) const;
1730 
1734  bool ShowConfiguration(UTF8Array & out_configuration) const;
1735 
1739  bool ShowCatiaV4LogicalNameForRootDirectory(UTF8 & out_name) const;
1740 
1744  bool ShowCatiaV4LogicalNameSearching(bool & out_state) const;
1745 
1750  bool ShowCatiaV5Cache(bool & out_active, UTF8 & out_path) const;
1751 
1756  bool ShowUnigraphicsPreferredReferenceSets(UTF8Array & out_reference_sets, bool & out_apply_to_all_levels) const;
1757 
1761  bool ShowUnigraphicsFittedCamera(bool & out_state) const;
1762 
1766  bool ShowProECodePageName(UTF8 & out_name) const;
1767 
1771  bool ShowProEDimensionTolerance(bool & out_state) const;
1772 
1776  bool ShowProESubpartPMI(bool & out_state) const;
1777 
1781  bool ShowProESessionColor(ProE::SessionColor & out_type) const;
1782 
1786  bool ShowSTEPNamePreference(STEP::Field & out_field) const;
1787 
1791  bool ShowSTEPFirstColorPreference(bool & out_state) const;
1792 
1796  bool ShowSTEPCodePageName(UTF8 & out_name) const;
1797 
1801  bool ShowSTEPShellBasedSurfaceModelSplitting(bool & out_state) const;
1802 
1806  bool ShowSTEPOrientationHealing(bool & out_state) const;
1807 
1811  bool ShowIFCCodePageName(UTF8 & out_name) const;
1812 
1816  bool ShowIFCAttributeXMLFile(UTF8 & out_filename) const;
1817 
1821  bool ShowIFCOwnerHistoryOptimization(bool & out_state) const;
1822 
1826  bool ShowIFCFaceOptimization(bool & out_state) const;
1827 
1831  bool ShowIFCEdges(bool & out_state) const;
1832 
1836  bool ShowIFCMetadata(bool & out_state) const;
1837 
1841  bool ShowPDF3DStreamIndex(size_t & out_index) const;
1842 
1846  bool ShowJTTessellationLevel(JT::TessellationLevel & out_tessellation_level) const;
1847  };
1848 
1849 
1850 
1855  class EXCHANGE_API ModelFileImportOptionsKit : public Sprocket
1856  {
1857  public:
1860 
1864 
1869 
1873  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit && in_that);
1874 
1875  virtual ~ModelFileImportOptionsKit();
1876 
1877  Type ObjectType() const { return Type::ExchangeModelFileImportOptionsKit; }
1878 
1882  static ModelFileImportOptionsKit GetDefault();
1883 
1886  void Set(ModelFileImportOptionsKit const & in_kit);
1887 
1890  void Show(ModelFileImportOptionsKit & out_kit) const;
1891 
1895  ModelFileImportOptionsKit & operator=(ModelFileImportOptionsKit const & in_kit);
1896 
1899  bool Empty() const;
1900 
1904  bool Equals(ModelFileImportOptionsKit const & in_kit) const;
1905 
1909  bool operator==(ModelFileImportOptionsKit const & in_kit) const;
1910 
1914  bool operator!=(ModelFileImportOptionsKit const & in_kit) const;
1915 
1916 
1922  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
1923 
1930  ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
1931 
1939  ModelFileImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
1940 
1946  ModelFileImportOptionsKit & SetTessellationPreservesUVPoints(bool in_state);
1947 
1953  ModelFileImportOptionsKit & SetTessellationMaximumEdgeLength(double in_length);
1954 
1961  ModelFileImportOptionsKit & SetIFCEdges(bool in_state);
1962 
1963 
1966  ModelFileImportOptionsKit & UnsetTessellationLevel();
1967 
1970  ModelFileImportOptionsKit & UnsetTessellationAccuracy();
1971 
1974  ModelFileImportOptionsKit & UnsetTessellationPreservesUVPoints();
1975 
1978  ModelFileImportOptionsKit & UnsetTessellationMaximumEdgeLength();
1979 
1982  ModelFileImportOptionsKit & UnsetIFCEdges();
1983 
1986  ModelFileImportOptionsKit & UnsetEverything();
1987 
1988 
1996  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
1997 
2002  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
2003 
2007  bool ShowTessellationPreservesUVPoints(bool & out_state) const;
2008 
2012  bool ShowTessellationMaximumEdgeLength(double & out_length) const;
2013 
2017  bool ShowIFCEdges(bool & out_state) const;
2018  };
2019 
2020 
2022  class EXCHANGE_API ExportACISOptionsKit : public Sprocket
2023  {
2024  public:
2027 
2031 
2035 
2036  virtual ~ExportACISOptionsKit();
2037 
2038  Type ObjectType() const { return Type::ExchangeExportACISOptionsKit; }
2039 
2043  static ExportACISOptionsKit GetDefault();
2044 
2047  void Set(ExportACISOptionsKit const & in_kit);
2048 
2051  void Show(ExportACISOptionsKit & out_kit) const;
2052 
2056  ExportACISOptionsKit & operator=(ExportACISOptionsKit const & in_kit);
2057 
2061  ExportACISOptionsKit & operator=(ExportACISOptionsKit && in_that);
2062 
2065  bool Empty() const;
2066 
2070  bool Equals(ExportACISOptionsKit const & in_kit) const;
2071 
2075  bool operator==(ExportACISOptionsKit const & in_kit) const;
2076 
2080  bool operator!=(ExportACISOptionsKit const & in_kit) const;
2081 
2082 
2088  ExportACISOptionsKit & SetMillimeterUnits(bool in_state);
2089 
2095  ExportACISOptionsKit & SetBinary(bool in_state);
2096 
2097 
2100  ExportACISOptionsKit & UnsetMillimeterUnits();
2101 
2104  ExportACISOptionsKit & UnsetBinary();
2105 
2108  ExportACISOptionsKit & UnsetEverything();
2109 
2110 
2114  bool ShowMillimeterUnits(bool & out_state) const;
2115 
2119  bool ShowBinary(bool & out_state) const;
2120  };
2121 
2123  class EXCHANGE_API ExportIGESOptionsKit : public Sprocket
2124  {
2125  public:
2128 
2132 
2136 
2137  virtual ~ExportIGESOptionsKit();
2138 
2139  Type ObjectType() const { return Type::ExchangeExportIGESOptionsKit; }
2140 
2144  static ExportIGESOptionsKit GetDefault();
2145 
2148  void Set(ExportIGESOptionsKit const & in_kit);
2149 
2152  void Show(ExportIGESOptionsKit & out_kit) const;
2153 
2157  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit const & in_kit);
2158 
2162  ExportIGESOptionsKit & operator=(ExportIGESOptionsKit && in_that);
2163 
2166  bool Empty() const;
2167 
2171  bool Equals(ExportIGESOptionsKit const & in_kit) const;
2172 
2176  bool operator==(ExportIGESOptionsKit const & in_kit) const;
2177 
2181  bool operator!=(ExportIGESOptionsKit const & in_kit) const;
2182 
2183 
2189  ExportIGESOptionsKit & SetAnalyticsAsNURBS(bool in_state);
2190 
2196  ExportIGESOptionsKit & SetFacetedAsWireframe(bool in_state);
2197 
2203  ExportIGESOptionsKit & SetSolidsAsFaces(bool in_state);
2204 
2210  ExportIGESOptionsKit & SetHiddenObjects(bool in_state);
2211 
2217  ExportIGESOptionsKit & SetTessellation(bool in_state);
2218 
2222  ExportIGESOptionsKit & SetApplication(char const * in_name);
2223 
2227  ExportIGESOptionsKit & SetVersion(char const * in_version);
2228 
2229 
2232  ExportIGESOptionsKit & UnsetAnalyticsAsNURBS();
2233 
2236  ExportIGESOptionsKit & UnsetFacetedAsWireframe();
2237 
2240  ExportIGESOptionsKit & UnsetSolidsAsFaces();
2241 
2244  ExportIGESOptionsKit & UnsetHiddenObjects();
2245 
2248  ExportIGESOptionsKit & UnsetTessellation();
2249 
2252  ExportIGESOptionsKit & UnsetApplication();
2253 
2256  ExportIGESOptionsKit & UnsetVersion();
2257 
2260  ExportIGESOptionsKit & UnsetEverything();
2261 
2262 
2266  bool ShowAnalyticsAsNURBS(bool & out_state) const;
2267 
2271  bool ShowFacetedAsWireframe(bool & out_state) const;
2272 
2276  bool ShowSolidsAsFaces(bool & out_state) const;
2277 
2281  bool ShowHiddenObjects(bool & out_state) const;
2282 
2286  bool ShowTessellation(bool & out_state) const;
2287 
2291  bool ShowApplication(UTF8 & out_name) const;
2292 
2296  bool ShowVersion(UTF8 & out_version) const;
2297  };
2298 
2300  class EXCHANGE_API ExportJTOptionsKit : public Sprocket
2301  {
2302  public:
2305 
2308  ExportJTOptionsKit(ExportJTOptionsKit const & in_kit);
2309 
2313 
2314  virtual ~ExportJTOptionsKit();
2315 
2316  Type ObjectType() const { return Type::ExchangeExportJTOptionsKit; }
2317 
2321  static ExportJTOptionsKit GetDefault();
2322 
2325  void Set(ExportJTOptionsKit const & in_kit);
2326 
2329  void Show(ExportJTOptionsKit & out_kit) const;
2330 
2334  ExportJTOptionsKit & operator=(ExportJTOptionsKit const & in_kit);
2335 
2339  ExportJTOptionsKit & operator=(ExportJTOptionsKit && in_that);
2340 
2343  bool Empty() const;
2344 
2348  bool Equals(ExportJTOptionsKit const & in_kit) const;
2349 
2353  bool operator==(ExportJTOptionsKit const & in_kit) const;
2354 
2358  bool operator!=(ExportJTOptionsKit const & in_kit) const;
2359 
2360 
2366  ExportJTOptionsKit & SetContent(JT::Content in_content);
2367 
2373  ExportJTOptionsKit & SetHiddenObjects(bool in_state);
2374 
2380  ExportJTOptionsKit & SetPMI(bool in_state);
2381 
2382 
2385  ExportJTOptionsKit & UnsetContent();
2386 
2389  ExportJTOptionsKit & UnsetHiddenObjects();
2390 
2393  ExportJTOptionsKit & UnsetPMI();
2394 
2397  ExportJTOptionsKit & UnsetEverything();
2398 
2399 
2403  bool ShowContent(JT::Content & out_content) const;
2404 
2408  bool ShowHiddenObjects(bool & out_state) const;
2409 
2413  bool ShowPMI(bool & out_state) const;
2414  };
2415 
2417  class EXCHANGE_API ExportParasolidOptionsKit : public Sprocket
2418  {
2419  public:
2422 
2426 
2430 
2431  virtual ~ExportParasolidOptionsKit();
2432 
2433  Type ObjectType() const { return Type::ExchangeExportParasolidOptionsKit; }
2434 
2438  static ExportParasolidOptionsKit GetDefault();
2439 
2442  void Set(ExportParasolidOptionsKit const & in_kit);
2443 
2446  void Show(ExportParasolidOptionsKit & out_kit) const;
2447 
2451  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit const & in_kit);
2452 
2456  ExportParasolidOptionsKit & operator=(ExportParasolidOptionsKit && in_that);
2457 
2460  bool Empty() const;
2461 
2465  bool Equals(ExportParasolidOptionsKit const & in_kit) const;
2466 
2470  bool operator==(ExportParasolidOptionsKit const & in_kit) const;
2471 
2475  bool operator!=(ExportParasolidOptionsKit const & in_kit) const;
2476 
2477 
2483  ExportParasolidOptionsKit & SetSolidsAsFaces(bool in_state);
2484 
2490  ExportParasolidOptionsKit & SetTessellation(bool in_state);
2491 
2497  ExportParasolidOptionsKit & SetHiddenObjects(bool in_state);
2498 
2502  ExportParasolidOptionsKit & SetApplication(char const * in_name);
2503 
2507  ExportParasolidOptionsKit & SetVersion(char const * in_version);
2508 
2509 
2512  ExportParasolidOptionsKit & UnsetSolidsAsFaces();
2513 
2516  ExportParasolidOptionsKit & UnsetTessellation();
2517 
2520  ExportParasolidOptionsKit & UnsetHiddenObjects();
2521 
2524  ExportParasolidOptionsKit & UnsetApplication();
2525 
2528  ExportParasolidOptionsKit & UnsetVersion();
2529 
2532  ExportParasolidOptionsKit & UnsetEverything();
2533 
2534 
2538  bool ShowSolidsAsFaces(bool & out_state) const;
2539 
2543  bool ShowTessellation(bool & out_state) const;
2544 
2548  bool ShowHiddenObjects(bool & out_state) const;
2549 
2553  bool ShowApplication(UTF8 & out_name) const;
2554 
2558  bool ShowVersion(UTF8 & out_version) const;
2559  };
2560 
2562  class EXCHANGE_API ExportPRCOptionsKit : public Sprocket
2563  {
2564  public:
2567 
2570  ExportPRCOptionsKit(ExportPRCOptionsKit const & in_kit);
2571 
2575 
2576  virtual ~ExportPRCOptionsKit();
2577 
2578  Type ObjectType() const { return Type::ExchangeExportPRCOptionsKit; }
2579 
2583  static ExportPRCOptionsKit GetDefault();
2584 
2587  void Set(ExportPRCOptionsKit const & in_kit);
2588 
2591  void Show(ExportPRCOptionsKit & out_kit) const;
2592 
2596  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit const & in_kit);
2597 
2601  ExportPRCOptionsKit & operator=(ExportPRCOptionsKit && in_that);
2602 
2605  bool Empty() const;
2606 
2610  bool Equals(ExportPRCOptionsKit const & in_kit) const;
2611 
2615  bool operator==(ExportPRCOptionsKit const & in_kit) const;
2616 
2620  bool operator!=(ExportPRCOptionsKit const & in_kit) const;
2621 
2622 
2628  ExportPRCOptionsKit & SetTessellationCompression(bool in_state);
2629 
2636  ExportPRCOptionsKit & SetBRepCompression(PRC::BRepCompression in_level);
2637 
2643  ExportPRCOptionsKit & SetBRepRemoval(bool in_state);
2644 
2650  ExportPRCOptionsKit & SetAttributeRemoval(bool in_state);
2651 
2652 
2655  ExportPRCOptionsKit & UnsetTessellationCompression();
2656 
2659  ExportPRCOptionsKit & UnsetBRepCompression();
2660 
2663  ExportPRCOptionsKit & UnsetBRepRemoval();
2664 
2667  ExportPRCOptionsKit & UnsetAttributeRemoval();
2668 
2671  ExportPRCOptionsKit & UnsetEverything();
2672 
2673 
2677  bool ShowTessellationCompression(bool & out_state) const;
2678 
2682  bool ShowBRepCompression(PRC::BRepCompression & out_level) const;
2683 
2687  bool ShowBRepRemoval(bool & out_state) const;
2688 
2692  bool ShowAttributeRemoval(bool & out_state) const;
2693  };
2694 
2696  class EXCHANGE_API ExportSTEPOptionsKit : public Sprocket
2697  {
2698  public:
2701 
2705 
2709 
2710  virtual ~ExportSTEPOptionsKit();
2711 
2712  Type ObjectType() const { return Type::ExchangeExportSTEPOptionsKit; }
2713 
2717  static ExportSTEPOptionsKit GetDefault();
2718 
2721  void Set(ExportSTEPOptionsKit const & in_kit);
2722 
2725  void Show(ExportSTEPOptionsKit & out_kit) const;
2726 
2730  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit const & in_kit);
2731 
2735  ExportSTEPOptionsKit & operator=(ExportSTEPOptionsKit && in_that);
2736 
2739  bool Empty() const;
2740 
2744  bool Equals(ExportSTEPOptionsKit const & in_kit) const;
2745 
2749  bool operator==(ExportSTEPOptionsKit const & in_kit) const;
2750 
2754  bool operator!=(ExportSTEPOptionsKit const & in_kit) const;
2755 
2756 
2762  ExportSTEPOptionsKit & SetFormat(STEP::Format in_format);
2763 
2769  ExportSTEPOptionsKit & SetAnalyticsAsNURBS(bool in_state);
2770 
2776  ExportSTEPOptionsKit & SetFacetedAsWireframe(bool in_state);
2777 
2783  ExportSTEPOptionsKit & SetNameShortening(bool in_state);
2784 
2788  ExportSTEPOptionsKit & SetApplication(char const * in_name);
2789 
2793  ExportSTEPOptionsKit & SetVersion(char const * in_version);
2794 
2795 
2798  ExportSTEPOptionsKit & UnsetFormat();
2799 
2802  ExportSTEPOptionsKit & UnsetAnalyticsAsNURBS();
2803 
2806  ExportSTEPOptionsKit & UnsetFacetedAsWireframe();
2807 
2810  ExportSTEPOptionsKit & UnsetNameShortening();
2811 
2814  ExportSTEPOptionsKit & UnsetApplication();
2815 
2818  ExportSTEPOptionsKit & UnsetVersion();
2819 
2822  ExportSTEPOptionsKit & UnsetEverything();
2823 
2824 
2828  bool ShowFormat(STEP::Format & out_format) const;
2829 
2833  bool ShowAnalyticsAsNURBS(bool & out_state) const;
2834 
2838  bool ShowFacetedAsWireframe(bool & out_state) const;
2839 
2843  bool ShowNameShortening(bool & out_state) const;
2844 
2848  bool ShowApplication(UTF8 & out_name) const;
2849 
2853  bool ShowVersion(UTF8 & out_version) const;
2854  };
2855 
2857  class EXCHANGE_API ExportSTLOptionsKit : public Sprocket
2858  {
2859  public:
2862 
2865  ExportSTLOptionsKit(ExportSTLOptionsKit const & in_kit);
2866 
2870 
2871  virtual ~ExportSTLOptionsKit();
2872 
2873  Type ObjectType() const { return Type::ExchangeExportSTLOptionsKit; }
2874 
2878  static ExportSTLOptionsKit GetDefault();
2879 
2882  void Set(ExportSTLOptionsKit const & in_kit);
2883 
2886  void Show(ExportSTLOptionsKit & out_kit) const;
2887 
2891  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit const & in_kit);
2892 
2896  ExportSTLOptionsKit & operator=(ExportSTLOptionsKit && in_that);
2897 
2900  bool Empty() const;
2901 
2905  bool Equals(ExportSTLOptionsKit const & in_kit) const;
2906 
2910  bool operator==(ExportSTLOptionsKit const & in_kit) const;
2911 
2915  bool operator!=(ExportSTLOptionsKit const & in_kit) const;
2916 
2917 
2923  ExportSTLOptionsKit & SetBinary(bool in_state);
2924 
2930  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Level in_level);
2931 
2938  ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
2939 
2945  ExportSTLOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type);
2946 
2952  ExportSTLOptionsKit & SetCurrentTessellationRetention(bool in_state);
2953 
2960  ExportSTLOptionsKit & SetMaximumEdgeLength(double in_length);
2961 
2962 
2965  ExportSTLOptionsKit & UnsetBinary();
2966 
2969  ExportSTLOptionsKit & UnsetTessellationLevel();
2970 
2973  ExportSTLOptionsKit & UnsetTessellationAccuracy();
2974 
2977  ExportSTLOptionsKit & UnsetCurrentTessellationRetention();
2978 
2981  ExportSTLOptionsKit & UnsetMaximumEdgeLength();
2982 
2985  ExportSTLOptionsKit & UnsetEverything();
2986 
2987 
2991  bool ShowBinary(bool & out_state) const;
2992 
3000  bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3001 
3005  bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type) const;
3006 
3010  bool ShowCurrentTessellationRetention(bool & out_state) const;
3011 
3015  bool ShowMaximumEdgeLength(double & out_length) const;
3016  };
3017 
3019  class EXCHANGE_API ExportU3DOptionsKit : public Sprocket
3020  {
3021  public:
3024 
3027  ExportU3DOptionsKit(ExportU3DOptionsKit const & in_kit);
3028 
3032 
3033  virtual ~ExportU3DOptionsKit();
3034 
3035  Type ObjectType() const { return Type::ExchangeExportU3DOptionsKit; }
3036 
3040  static ExportU3DOptionsKit GetDefault();
3041 
3044  void Set(ExportU3DOptionsKit const & in_kit);
3045 
3048  void Show(ExportU3DOptionsKit & out_kit) const;
3049 
3053  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit const & in_kit);
3054 
3058  ExportU3DOptionsKit & operator=(ExportU3DOptionsKit && in_that);
3059 
3062  bool Empty() const;
3063 
3067  bool Equals(ExportU3DOptionsKit const & in_kit) const;
3068 
3072  bool operator==(ExportU3DOptionsKit const & in_kit) const;
3073 
3077  bool operator!=(ExportU3DOptionsKit const & in_kit) const;
3078 
3079 
3085  ExportU3DOptionsKit & SetVersion(U3D::Version in_version);
3086 
3091  ExportU3DOptionsKit & SetCompression(unsigned char in_level);
3092 
3093 
3096  ExportU3DOptionsKit & UnsetVersion();
3097 
3100  ExportU3DOptionsKit & UnsetCompression();
3101 
3104  ExportU3DOptionsKit & UnsetEverything();
3105 
3106 
3110  bool ShowVersion(U3D::Version & out_version) const;
3111 
3115  bool ShowCompression(unsigned char & out_level) const;
3116  };
3117 
3119  class EXCHANGE_API ExportXMLOptionsKit : public Sprocket
3120  {
3121  public:
3124 
3127  ExportXMLOptionsKit(ExportXMLOptionsKit const & in_kit);
3128 
3132 
3133  virtual ~ExportXMLOptionsKit();
3134 
3135  Type ObjectType() const { return Type::ExchangeExportXMLOptionsKit; }
3136 
3140  static ExportXMLOptionsKit GetDefault();
3141 
3144  void Set(ExportXMLOptionsKit const & in_kit);
3145 
3148  void Show(ExportXMLOptionsKit & out_kit) const;
3149 
3153  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit const & in_kit);
3154 
3158  ExportXMLOptionsKit & operator=(ExportXMLOptionsKit && in_that);
3159 
3162  bool Empty() const;
3163 
3167  bool Equals(ExportXMLOptionsKit const & in_kit) const;
3168 
3172  bool operator==(ExportXMLOptionsKit const & in_kit) const;
3173 
3177  bool operator!=(ExportXMLOptionsKit const & in_kit) const;
3178 
3179 
3185  ExportXMLOptionsKit & SetMetadata(bool in_state);
3186 
3192  ExportXMLOptionsKit & SetTransformations(bool in_state);
3193 
3199  ExportXMLOptionsKit & SetMaterials(bool in_state);
3200 
3201 
3204  ExportXMLOptionsKit & UnsetMetadata();
3205 
3208  ExportXMLOptionsKit & UnsetTransformations();
3209 
3212  ExportXMLOptionsKit & UnsetMaterials();
3213 
3216  ExportXMLOptionsKit & UnsetEverything();
3217 
3218 
3222  bool ShowMetadata(bool & out_state) const;
3223 
3227  bool ShowTransformations(bool & out_state) const;
3228 
3232  bool ShowMaterials(bool & out_state) const;
3233  };
3234 
3236  class EXCHANGE_API TessellationOptionsKit : public Sprocket
3237  {
3238  public:
3241 
3245 
3249 
3250  virtual ~TessellationOptionsKit();
3251 
3252  Type ObjectType() const { return Type::ExchangeTessellationOptionsKit; }
3253 
3257  static TessellationOptionsKit GetDefault();
3258 
3261  void Set(TessellationOptionsKit const & in_kit);
3262 
3265  void Show(TessellationOptionsKit & out_kit) const;
3266 
3270  TessellationOptionsKit & operator=(TessellationOptionsKit const & in_kit);
3271 
3275  TessellationOptionsKit & operator=(TessellationOptionsKit && in_that);
3276 
3279  bool Empty() const;
3280 
3284  bool Equals(TessellationOptionsKit const & in_kit) const;
3285 
3289  bool operator==(TessellationOptionsKit const & in_kit) const;
3290 
3294  bool operator!=(TessellationOptionsKit const & in_kit) const;
3295 
3296 
3300  TessellationOptionsKit & SetLevel(Tessellation::Level in_level);
3301 
3308  TessellationOptionsKit & SetLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3309 
3315  TessellationOptionsKit & SetAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
3316 
3320  TessellationOptionsKit & SetUVPointPreservation(bool in_state);
3321 
3325  TessellationOptionsKit & SetMaximumEdgeLength(double in_length);
3326 
3327 
3330  TessellationOptionsKit & UnsetLevel();
3331 
3334  TessellationOptionsKit & UnsetAccuracy();
3335 
3338  TessellationOptionsKit & UnsetUVPointPreservation();
3339 
3342  TessellationOptionsKit & UnsetMaximumEdgeLength();
3343 
3346  TessellationOptionsKit & UnsetEverything();
3347 
3348 
3356  bool ShowLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
3357 
3362  bool ShowAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
3363 
3367  bool ShowUVPointPreservation(bool & out_state) const;
3368 
3372  bool ShowMaximumEdgeLength(double & out_length) const;
3373  };
3374 
3375 private:
3377  Exchange();
3378 };
3379 
3380 }
3381 
3382 #endif
Definition: sprk_exchange.h:2562
Level
Definition: sprk_exchange.h:576
Type ObjectType() const
Definition: sprk_exchange.h:2316
Definition: sprk_exchange.h:43
Definition: sprk_exchange.h:678
Definition: sprk.h:238
Type ObjectType() const
Definition: sprk_exchange.h:164
Definition: sprk_exchange.h:819
Units
Definition: sprk_exchange.h:58
Definition: sprk.h:69
Definition: sprk_exchange.h:435
Version
Definition: sprk_exchange.h:724
Definition: sprk_exchange.h:1855
Definition: sprk_exchange.h:586
Type ObjectType() const
Definition: sprk_exchange.h:516
Type ObjectType() const
Definition: sprk_exchange.h:3135
Format
Definition: sprk_exchange.h:666
Definition: sprk_exchange.h:3119
Definition: sprk.h:924
Format
Definition: sprk_exchange.h:824
Type ObjectType() const
Definition: sprk_exchange.h:2578
Type
Definition: sprk_exchange.h:567
Type ObjectType() const
Definition: sprk_exchange.h:2139
Definition: sprk_exchange.h:306
Definition: sprk_exchange.h:390
Definition: sprk_exchange.h:187
Type ObjectType() const
Definition: sprk_exchange.h:287
Type ObjectType() const
Definition: sprk_exchange.h:2433
Type ObjectType() const
Definition: sprk_exchange.h:99
Definition: sprk_exchange.h:132
Type ObjectType() const
Definition: sprk_exchange.h:2873
Type ObjectType() const
Definition: sprk_exchange.h:213
Definition: sprk_exchange.h:2300
Field
Definition: sprk_exchange.h:656
Type ObjectType() const
Definition: sprk_exchange.h:773
Definition: sprk_exchange.h:2022
Limit
Definition: sprk_exchange.h:591
Type ObjectType() const
Definition: sprk_exchange.h:2712
TessellationLevel
Definition: sprk_exchange.h:638
Definition: sprk_exchange.h:562
Definition: sprk_exchange.h:2857
Definition: sprk_exchange.h:78
Definition: sprk_exchange.h:651
Definition: hps.h:4150
Definition: hps.h:6650
Definition: sprk_exchange.h:261
Definition: sprk_exchange.h:3019
Definition: sprk_exchange.h:624
Type ObjectType() const
Definition: sprk_exchange.h:2038
Definition: sprk_exchange.h:719
SessionColor
Definition: sprk_exchange.h:702
Definition: sprk.h:1464
Definition: hps.h:41102
Definition: sprk_exchange.h:350
Type ObjectType() const
Definition: sprk_exchange.h:3252
Definition: sprk.h:430
Type ObjectType() const
Definition: sprk_exchange.h:991
BRepCompression
Definition: sprk_exchange.h:683
Definition: sprk_parasolid.h:39
BRepMode
Definition: sprk_exchange.h:548
ComponentType
Definition: sprk.h:1469
Accuracy
Definition: sprk_exchange.h:608
Definition: sprk_exchange.h:2123
Definition: sprk.h:2009
Content
Definition: sprk_exchange.h:629
Definition: sprk_exchange.h:969
Type ObjectType() const
Definition: sprk_exchange.h:1877
Type ObjectType() const
Definition: sprk_exchange.h:463
Definition: sprk.h:2107
Definition: sprk_exchange.h:697
Type ObjectType() const
Definition: sprk_exchange.h:332
Type ObjectType() const
Definition: sprk_exchange.h:3035
Definition: sprk_exchange.h:488
Definition: sprk.h:2193
Definition: sprk_exchange.h:736
static Model CreateModel(char const *in_name="")
Definition: sprk_exchange.h:2417
Definition: sprk_exchange.h:3236
Type ObjectType() const
Definition: sprk_exchange.h:418
Definition: sprk_exchange.h:2696