sprk_exchange.h
161 TranslationNotifier Translate(Units in_units, TranslationOptionsKit const & in_translation_options);
169 ReloadNotifier Reload(TessellationOptionsKit const & in_tessellation_options = TessellationOptionsKit(), TranslationOptionsKit const & in_translation_options = TranslationOptionsKit());
356 /* Gets a list of sheets for this CADModel (if any). Only formats which support the concept of sheets can return a non-empty array.
371 ReloadNotifier Reload(TessellationOptionsKit const & in_options = TessellationOptionsKit(), TranslationOptionsKit const & in_translation_options = TranslationOptionsKit());
492 static Component CreateComponent(HPS::Component const & in_owner, HPS::Component::ComponentType in_type, A3DEntity * in_entity = nullptr);
499 static CADModel CreateCADModel(Model const & in_model = HPS::Factory::CreateModel(), A3DAsmModelFile * in_entity = nullptr, bool in_owns_entity = false);
512 static Capture CreateCapture(HPS::Component const & in_owner, A3DEntity * in_entity = nullptr, bool in_is_default = false);
979 Configuration(char const * in_name, size_t in_count, Configuration const in_subconfigurations[]);
1107 static void GetInformation(const char * in_file_name, Format & out_format, UTF8 & out_model_name, UTF8 & out_version, UTF8 & out_author, UTF8 & out_organization, UTF8 & out_time_stamp);
1130 static ImportNotifier Import(A3DAsmModelFile const * in_model_file, ModelFileImportOptionsKit const & in_options);
1139 static TranslationNotifier Translate(char const * in_file_name, ImportOptionsKit const & in_options, TranslationOptionsKit const & in_translation_options);
1145 static void ExportACIS(CADModel const & in_cad_model, char const * in_file_name, ExportACISOptionsKit const & in_options);
1151 static void ExportIGES(CADModel const & in_cad_model, char const * in_file_name, ExportIGESOptionsKit const & in_options);
1157 static void ExportJT(CADModel const & in_cad_model, char const * in_file_name, ExportJTOptionsKit const & in_options);
1163 static void ExportParasolid(CADModel const & in_cad_model, char const * in_file_name, ExportParasolidOptionsKit const & in_options);
1170 static ExportNotifier ExportPRC(CADModel const & in_cad_model, char const * in_file_name, ExportPRCOptionsKit const & in_options);
1177 static ExportNotifier ExportPRC(KeyPathArray const & in_source, char const * in_file_name, bool in_compress_tessellation = false);
1185 static ExportNotifier ExportPRC(size_t in_count, KeyPath const in_source [], char const * in_file_name, bool in_compress_tessellation = false);
1193 static ExportNotifier ExportPRC(KeyPath const & in_source, char const * in_file_name, bool in_compress_tessellation = false);
1215 static void ExportSTEP(CADModel const & in_cad_model, char const * in_file_name, ExportSTEPOptionsKit const & in_options);
1221 static void ExportSTL(CADModel const & in_cad_model, char const * in_file_name, ExportSTLOptionsKit const & in_options);
1227 static void ExportU3D(CADModel const & in_cad_model, char const * in_file_name, ExportU3DOptionsKit const & in_options);
1238 static void ExportXML(CADModel const & in_cad_model, char const * in_file_name, ExportXMLOptionsKit const & in_options);
1392 ImportOptionsKit & SetPMISubstitutionFont(char const * in_font_name, bool in_always_substitute = false);
1415 ImportOptionsKit & SetPMIDefaultColor(RGBColor const & in_color, bool in_override_color = false);
1430 ImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
1439 ImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
1474 ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], bool const in_recurse_flags[]);
1481 ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, BoolArray const & in_recurse_flags);
1491 ImportOptionsKit & SetSearchDirectories(size_t in_count, UTF8 const in_directories[], UTF8 const in_logical_names[], bool const in_recurse_flags[]);
1501 ImportOptionsKit & SetSearchDirectories(UTF8Array const & in_directories, UTF8Array const & in_logical_names, BoolArray const & in_recurse_flags);
1565 ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(size_t in_count, UTF8 const in_reference_sets[], bool in_apply_to_all_levels);
1573 ImportOptionsKit & SetUnigraphicsPreferredReferenceSets(UTF8Array const & in_reference_sets, bool in_apply_to_all_levels);
1806 ImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
1839 ImportOptionsKit & SetIncrementalComponentPaths(size_t in_count, HPS::ComponentPath const in_paths[]);
2181 bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
2187 bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
2209 bool ShowSearchDirectories(UTF8Array & out_directories, UTF8Array & out_logical_names, BoolArray & out_recurse_flags) const;
2241 bool ShowUnigraphicsPreferredReferenceSets(UTF8Array & out_reference_sets, bool & out_apply_to_all_levels) const;
2766 ModelFileImportOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
2775 ModelFileImportOptionsKit & SetTessellationAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
2816 ModelFileImportOptionsKit & SetLocation(ComponentPath const & in_path, MatrixKit const & in_transform = MatrixKit());
2859 bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
2865 bool ShowTessellationAccuracy(Tessellation::Accuracy & out_type, bool & out_accurate_normals) const;
3537 ExportPRCOptionsKit & SetAdditionalKeyPaths(size_t in_count, KeyPath const in_additional_key_paths []);
3876 ExportSTLOptionsKit & SetTessellationLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
3938 bool ShowTessellationLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
4246 TessellationOptionsKit & SetLevel(Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance);
4253 TessellationOptionsKit & SetAccuracy(Tessellation::Accuracy in_type, bool in_accurate_normals = true);
4294 bool ShowLevel(Tessellation::Type & out_type, Tessellation::Level & out_level, Tessellation::Chord::Limit & out_limit_type, double & out_limit, double & out_angle_tolerance) const;
4334 CommonMeasurementOperator(Exchange::CADModel const & in_cad_model, MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
4385 MeasurementInsertedEvent(HPS::Key const & in_measurement_key, HPS::View const & in_view) : Event()
4431 MeasurementDeletedEvent(HPS::UTF8 const & in_measurement_name, HPS::View const & in_view) : Event()
4493 void PositionLinearMeasurementGeometry(WindowPoint const & window_cursor_location, KeyPath const & event_path, LineKey & leader_line_one, LineKey & leader_line_two,
4494 LineKey & measurement_line, LineKey & line_to_cursor, Point & original_point_one, Point & original_point_two, TextKey & text, UTF8 const & text_string,
4495 Point & distance_point_one, Point & distance_point_two, SegmentKey & current_measurement_segment, Plane const & measurement_plane = Plane(), Vector const & explicit_direction = Vector());
4497 void SetMaterialsOnMeasurementSegment(HPS::SegmentKey const & set_materials_here, HPS::MaterialMappingKit const & materials_to_apply);
4564 MeasurementOperator(Exchange::CADModel const & in_cad_model, MouseButtons in_mouse_trigger = MouseButtons::ButtonLeft(), ModifierKeys in_modifier_trigger = ModifierKeys());
4606 * \param in_highlighting Whether measurable geometry should be highlighted when mousing over it. */
4610 * \param in_highlighting Whether measurable geometry should be highlighted when mousing over it.
4612 void SetMouseOverHighlighting(bool in_highlighting, HighlightOptionsKit const & in_highlight_options_kit);
4615 * \return <span class='code'>true</span> if measurable geometry is highlighted on mouse over, <span class='code'>false</span> otherwise. */
4623 * \return <span class='code'>true</span> if a measurement is being inserted or manipulated, <span class='code'>false</span> otherwise. */
4627 enum class EdgeType //used to determine the type of edge measured when using the EdgeAndRadius measurement type
4634 class Surface //helper class containing surfaces properties. Used for the FeatureToFeature measurement type
4649 LineKey normal_points; //the line representing the center line of surfaces of type Cylinder or Cone
4680 bool use_explicit_direction; //if true, we are moving the measurement along a specific vector, called explicit_direction
4704 bool inverted_measurement; //the smallest of the two possible angles is always chosen. If the user wants the other angle, the measurement is marked as 'inverted'
4716 bool highlight_on_mouse_over; //whether measurable geometry should be highlighted on mouse over
4717 HighlightOptionsKit mouse_over_highlight_options; //the options used for mouse over highlighting
4718 HighlightOptionsKit edit_measurement_highlight_options; //the options used for highlighting measurements while editing them
4719 UpdateNotifier highlight_update_notifier; //notifier used to know if the last highlight update has completed
4721 bool disable_highlighting; //in some situation we temporarily disable highlighting to improve performance
4722 bool Highlight(MeasurementType in_measurement_type, WindowPoint const & in_location, WindowKey & in_window, KeyPath const & in_path);
4725 bool InputDown(WindowPoint const & in_location, WindowKey & in_window, KeyPath const & in_path, size_t number_of_clicks);
4732 bool InsertEdgeRadiusMeasurement(KeyPath const & in_selection_path, WindowPoint & in_selection_position, Key const & in_edge_key);
4733 bool InsertFeatureToFeatureMeasurement(KeyPath const & in_selection_path, WindowPoint & in_selection_position, Key const & in_face_key, WindowKey & in_window, SelectionResults const & in_selection_results);
4734 void InsertFeatureToFeatureGeometry(Point const & point_one, Point const & point_two, float distance);
4735 bool InsertAngleMeasurement(KeyPath const & in_selection_path, WindowPoint & in_selection_position, Key const & in_face_key, WindowKey & in_window, SelectionResults const & in_selection_results);
4764 float LineSegmentDistance(Point & p0, Point & p1, Point & q0, Point & q1, LineKey & normal_one, LineKey & normal_two, Point & out_point_on_edge, Point & out_point_on_center_line, bool clamp = true);
4765 Point ClosestPointOnTriangleToPoint(Point const & p, Point const & a, Point const & b, Point const & c);
4766 float ClosestPointSegmentSegment(Point const & p1, Point const & q1, Point const & p2, Point const & q2, Point & c1, Point & c2);
4768 Point GetPlaneIntersection(Plane const & in_plane, KeyPath const & in_key_path, WindowPoint const & in_window_point);
Definition: hps.h:6097
Definition: sprk_exchange.h:3436
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3190
Definition: sprk_exchange.h:43
Definition: sprk_exchange.h:4421
Definition: sprk_exchange.h:883
Definition: sprk.h:237
Definition: sprk_exchange.h:1048
Definition: sprk_exchange.h:4318
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5606
Definition: sprk.h:66
Definition: sprk.h:100
Definition: sprk_exchange.h:578
Definition: sprk_exchange.h:2691
Definition: sprk_exchange.h:790
Definition: sprk_exchange.h:677
virtual HPS::UTF8 GetName() const OVERRIDE
Definition: sprk_exchange.h:4337
HPS::Type ObjectType() const
Definition: sprk_exchange.h:659
HPS::Type ObjectType() const
Definition: sprk_exchange.h:4073
Definition: hps.h:1655
HPS::Type ObjectType() const
Definition: sprk_exchange.h:705
Definition: sprk_exchange.h:4057
Definition: hps.h:43370
Definition: hps.h:7473
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3452
Definition: hps.h:15390
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3013
Definition: sprk_exchange.h:441
Definition: sprk_exchange.h:525
Definition: sprk_exchange.h:296
virtual HPS::UTF8 GetName() const OVERRIDE
Definition: sprk_exchange.h:4567
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3307
MeasurementInsertedEvent(Event const &in_event)
Definition: sprk_exchange.h:4395
Definition: sprk_exchange.h:237
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3811
Definition: sprk_exchange.h:4375
Definition: sprk_exchange.h:3174
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2478
Definition: hps.h:37952
HPS::Type ObjectType() const
Definition: sprk_exchange.h:1002
Definition: sprk_exchange.h:2896
Definition: sprk_exchange.h:2456
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3608
MeasurementInsertedEvent()
Definition: sprk_exchange.h:4379
Definition: sprk_exchange.h:766
Definition: sprk_exchange.h:3795
Definition: sprk_exchange.h:110
Definition: sprk_exchange.h:855
Definition: hps.h:4275
Definition: hps.h:6846
Definition: hps.h:42761
Definition: sprk_exchange.h:396
Definition: hps.h:39745
Definition: hps.h:43157
Definition: sprk_exchange.h:3957
Definition: sprk_exchange.h:828
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2912
Definition: hps.h:14804
Event * Clone() const
Definition: sprk_exchange.h:4457
Definition: sprk_exchange.h:948
Definition: sprk.h:1614
Definition: hps.h:43480
Definition: hps.h:40725
Definition: hps.h:42426
Definition: sprk_exchange.h:485
Definition: hps.h:6197
Definition: hps.h:13110
HPS::Type ObjectType() const
Definition: sprk_exchange.h:4190
Definition: sprk_exchange.h:4551
Definition: sprk.h:445
HPS::Type ObjectType() const
Definition: sprk_exchange.h:1268
Definition: sprk_parasolid.h:39
Definition: sprk.h:1880
Definition: sprk_exchange.h:2997
MeasurementDeletedEvent(Event const &in_event)
Definition: sprk_exchange.h:4441
Definition: sprk.h:2191
Definition: sprk_exchange.h:1246
HPS::Type ObjectType() const
Definition: sprk_exchange.h:2713
HPS::Type ObjectType() const
Definition: sprk_exchange.h:606
Definition: sprk.h:2290
Definition: hps.h:7392
Definition: sprk_exchange.h:902
Event * Clone() const
Definition: sprk_exchange.h:4411
HPS::Type ObjectType() const
Definition: sprk_exchange.h:3973
Definition: hps.h:8972
HPS::Type ObjectType() const
Definition: sprk_exchange.h:204
Definition: sprk_exchange.h:631
Definition: hps.h:22556
Definition: sprk.h:2376
Definition: hps.h:28759
Definition: sprk_exchange.h:965
Definition: sprk.h:1065
Definition: sprk_exchange.h:2411
MeasurementDeletedEvent()
Definition: sprk_exchange.h:4425
static Model CreateModel(char const *in_name="")
Definition: sprk_exchange.h:3291
Definition: sprk_exchange.h:172
Definition: hps.h:37490
Definition: sprk_exchange.h:4174
HPS::Type ObjectType() const
Definition: sprk_exchange.h:553
Definition: hps.h:38546
Definition: sprk_exchange.h:3592