21 # pragma warning(disable: 4251) //Not an issue as long as debug and release libraries aren't mixed
24 # define SPRK_API __declspec (dllexport)
26 # define SPRK_API __declspec (dllimport)
31 # if defined(LINUX_SYSTEM) && defined(SPROCKETS)
33 # define SPRK_API __attribute__ ((visibility ("default")))
55 class OperatorControl;
56 class NavigationCubeControl;
57 class AxisTriadControl;
60 class ComponentHighlightEvent;
85 typedef std::shared_ptr<Operator> OperatorPtr;
87 typedef std::vector<OperatorPtr, Allocator<OperatorPtr> > OperatorPtrArray;
89 typedef std::vector<Canvas, Allocator<Canvas> > CanvasArray;
90 typedef std::vector<Layout, Allocator<Layout> > LayoutArray;
91 typedef std::vector<View, Allocator<View> > ViewArray;
92 typedef std::vector<Model, Allocator<Model> > ModelArray;
94 typedef std::vector<Component, Allocator<Component> > ComponentArray;
95 typedef std::vector<Metadata, Allocator<Metadata> > MetadataArray;
96 typedef std::vector<Filter, Allocator<Filter> > FilterArray;
97 typedef std::vector<Capture, Allocator<Capture> > CaptureArray;
98 typedef std::vector<CADModel, Allocator<CADModel> > CADModelArray;
99 typedef std::vector<ReferenceKeyArray, Allocator<ReferenceKeyArray>> ReferenceKeyArrayArray;
100 typedef std::vector<ComponentPath, Allocator<ComponentPath>> ComponentPathArray;
119 void Assign(
Canvas const & in_that);
121 bool Equals(
Canvas const & in_that)
const;
122 bool operator!= (
Canvas const & in_that)
const;
123 bool operator== (
Canvas const & in_that)
const;
126 UTF8 GetName()
const;
131 void AttachLayout(
Layout const & in_layout);
136 void AttachViewAsLayout(
View const & in_view);
142 Layout GetAttachedLayout()
const;
145 IncludeKey GetAttachedLayoutIncludeLink()
const;
148 View GetFrontView()
const;
182 void SetFrameRate(
float in_frame_rate=20);
187 float GetFrameRate()
const;
216 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketControl;}
231 this->Object::operator=(std::move(in_that));
252 View & operator=(
View const & in_that);
253 void Assign(
View const & in_that);
255 bool Equals(
View const & in_that)
const;
256 bool operator!= (
View const & in_that)
const;
257 bool operator== (
View const & in_that)
const;
260 UTF8 GetName()
const;
318 void AttachModel(
Model const & in_model);
324 Model GetAttachedModel()
const;
327 IncludeKey GetAttachedModelIncludeLink()
const;
339 OperatorPtrArray GetOperators()
const;
343 void SetOperators(OperatorPtrArray & in_operators);
348 void SetOperators(
size_t in_count, OperatorPtr in_operators []);
352 void SetOperator(OperatorPtr
const & in_operator);
356 void SetOperator(
Operator * in_operator);
378 SegmentKey const GetModelOverrideSegmentKey()
const;
390 void SetSimpleShadow(
bool in_state,
float in_percent_offset = 5.0f);
393 bool GetSimpleShadow();
399 void SetSimpleReflection(
bool in_state,
float in_percent_offset = 5.0f);
402 bool GetSimpleReflection();
415 void SmoothTransition(
HPS::CameraKit const & in_camera_kit, HPS::Time in_duration = 0.5);
417 static UTF8 GetHideStyleName();
418 static UTF8 GetShowStyleName();
421 KeyArray
const GetNavigationKeys();
424 LayoutArray GetOwningLayouts();
425 LayoutArray
const GetOwningLayouts()
const;
444 void Assign(
Model const & in_that);
446 bool Equals(
Model const & in_that)
const;
447 bool operator!= (
Model const & in_that)
const;
448 bool operator== (
Model const & in_that)
const;
451 UTF8 GetName()
const;
475 HPS::ViewArray GetOwningViews();
476 HPS::ViewArray
const GetOwningViews()
const;
511 void Assign(
Layout const & in_that);
513 bool Equals(
Layout const & in_that)
const;
514 bool operator!= (
Layout const & in_that)
const;
515 bool operator== (
Layout const & in_that)
const;
518 UTF8 GetName()
const;
521 size_t GetLayerCount()
const;
534 void DetachLayer(
size_t in_layer);
538 void DetachView(
View const & in_view);
542 void BringToFront(
size_t in_layer);
547 void ReassignLayer(
size_t in_layer,
HPS::View in_view);
552 void RepositionLayer(
size_t in_layer,
HPS::Rectangle const & in_position);
555 View GetFrontView()
const;
560 View GetAttachedView(
size_t in_layer = 0)
const;
565 Rectangle GetPosition(
size_t in_layer)
const;
568 IncludeKey GetAttachedViewIncludeLink(
size_t in_layer)
const;
571 SegmentKey GetLayerSegmentKey(
size_t in_layer)
const;
589 CanvasArray GetOwningCanvases();
590 CanvasArray
const GetOwningCanvases()
const;
607 channel = GetClassID();
612 :
Event(), canvas(in_canvas)
614 channel = GetClassID();
622 if (in_event.
GetChannel() == Object::ClassID<CanvasDeletedEvent>())
625 canvas = that.canvas;
650 channel = GetClassID();
655 :
Event(), canvas(in_canvas), layout(in_layout)
657 channel = GetClassID();
665 if (in_event.
GetChannel() == Object::ClassID<LayoutDetachedEvent>())
668 canvas = that.canvas;
669 layout = that.layout;
695 channel = GetClassID();
700 :
Event(), layout(in_layout)
702 channel = GetClassID();
710 if (in_event.
GetChannel() == Object::ClassID<LayoutDeletedEvent>())
713 layout = that.layout;
745 channel = GetClassID();
750 :
Event(), layout(in_layout), action(Action::SpecificLayer), layer(in_layer), view(in_view)
752 channel = GetClassID();
756 ViewDetachedEvent(Layout
const & in_layout, View
const & in_view)
757 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
759 channel = GetClassID();
767 if (in_event.
GetChannel() == Object::ClassID<ViewDetachedEvent>())
770 layout = that.layout;
771 action = that.action;
801 channel = GetClassID();
806 :
Event(), view(in_view)
808 channel = GetClassID();
816 if (in_event.
GetChannel() == Object::ClassID<ViewDeletedEvent>())
844 channel = GetClassID();
849 :
Event(), view(in_view), model(in_model)
851 channel = GetClassID();
859 if (in_event.
GetChannel() == Object::ClassID<ModelDetachedEvent>())
889 channel = GetClassID();
894 :
Event(), model(in_model)
896 channel = GetClassID();
904 if (in_event.
GetChannel() == Object::ClassID<ModelDeletedEvent>())
938 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketPath; }
954 View GetView()
const;
957 Model GetModel()
const;
982 virtual void Assign(
Operator const & in_that);
985 virtual bool Equals(
Operator const & in_that)
const;
988 virtual bool operator!= (
Operator const & in_that)
const;
991 virtual bool operator== (
Operator const & in_that)
const;
997 View GetAttachedView()
const;
1131 HPS::Type
ObjectType()
const {
return HPS::Type::OperatorControl;};
1142 size_t GetCount(Operator::Priority in_priority);
1150 OperatorControl & Push(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1162 bool Pop(Operator::Priority in_priority = Operator::Priority::Normal);
1168 bool Pop(OperatorPtr & out_operator);
1175 bool Pop(Operator::Priority in_priority, OperatorPtr & out_operator);
1183 OperatorControl & Set(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1197 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Normal);
1205 OperatorControl & Set(
size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Normal);
1211 OperatorControl & UnsetTop(Operator::Priority in_priority = Operator::Priority::Normal);
1226 bool ShowTop(OperatorPtr & out_operator)
const;
1232 bool ShowTop(Operator::Priority in_priority, OperatorPtr & out_operator)
const;
1237 bool Show(OperatorPtrArray & out_operators)
const;
1243 bool Show(Operator::Priority in_priority, OperatorPtrArray & out_operators)
const;
1284 HPS::Type
ObjectType()
const {
return HPS::Type::NavigationCubeControl;};
1299 Location GetLocation()
const;
1318 bool GetVisibility()
const;
1327 bool GetTextVisibility()
const;
1361 bool GetInteractivity()
const;
1371 float GetSize()
const;
1419 HPS::Type
ObjectType()
const {
return HPS::Type::AxisTriadControl;};
1434 Location GetLocation()
const;
1453 bool GetVisibility()
const;
1462 bool GetTextVisibility()
const;
1488 bool GetInteractivity()
const;
1498 float GetSize()
const;
1521 GenericMask = 0xfffff000,
1523 ExchangeComponentMask = 0x00001000,
1524 ExchangeModelFile = 0x00001001,
1525 ExchangeProductOccurrence = 0x00001002,
1526 ExchangePartDefinition = 0x00001003,
1528 ExchangeView = 0x00001004,
1529 ExchangeFilter = 0x00001005,
1531 ExchangeRepresentationItemMask = 0x00003000,
1532 ExchangeRIBRepModel = 0x00003001,
1533 ExchangeRICurve = 0x00003002,
1534 ExchangeRIDirection = 0x00003003,
1535 ExchangeRIPlane = 0x00003004,
1536 ExchangeRIPointSet = 0x00003005,
1537 ExchangeRIPolyBRepModel = 0x00003006,
1538 ExchangeRIPolyWire = 0x00003007,
1539 ExchangeRISet = 0x00003008,
1540 ExchangeRICoordinateSystem = 0x00003009,
1542 ExchangeTopologyMask = 0x00005000,
1543 ExchangeTopoBody = 0x00005001,
1544 ExchangeTopoConnex = 0x00005002,
1545 ExchangeTopoShell = 0x00005003,
1546 ExchangeTopoFace = 0x00005004,
1547 ExchangeTopoLoop = 0x00005005,
1548 ExchangeTopoCoEdge = 0x00005006,
1549 ExchangeTopoEdge = 0x00005007,
1550 ExchangeTopoVertex = 0x00005008,
1551 ExchangeTopoSingleWireBody = 0x00005009,
1552 ExchangeTopoWireEdge = 0x0000500a,
1554 ExchangeDrawingMask = 0x00006000,
1555 ExchangeDrawingModel = 0x00006001,
1556 ExchangeDrawingView = 0x00006002,
1557 ExchangeDrawingSheet = 0x00006003,
1558 ExchangeBasicDrawingBlock = 0x00006004,
1559 ExchangeOperatorDrawingBlock = 0x00006005,
1561 ExchangePMIMask = 0x00009000,
1562 ExchangePMI = ExchangePMIMask,
1563 ExchangePMIText = 0x00009100,
1564 ExchangePMIRichText = 0x00009200,
1565 ExchangePMIRoughness = 0x00009300,
1566 ExchangePMIGDT = 0x00009400,
1567 ExchangePMIDatum = 0x00009500,
1568 ExchangePMILineWelding = 0x00009600,
1569 ExchangePMISpotWelding = 0x00009700,
1570 ExchangePMIDimension = 0x00009800,
1571 ExchangePMIBalloon = 0x00009900,
1572 ExchangePMICoordinate = 0x00009a00,
1573 ExchangePMIFastener = 0x00009b00,
1574 ExchangePMILocator = 0x00009c00,
1575 ExchangePMIMeasurementPoint = 0x00009d00,
1578 ParasolidComponentMask = 0x00010000,
1580 ParasolidModelFile = 0x00010001,
1581 ParasolidAssembly = 0x00010002,
1583 ParasolidTopologyMask = 0x00050000,
1584 ParasolidTopoBody = 0x00050001,
1585 ParasolidTopoRegion = 0x00050002,
1586 ParasolidTopoShell = 0x00050003,
1587 ParasolidTopoFace = 0x00050004,
1588 ParasolidTopoLoop = 0x00050005,
1589 ParasolidTopoFin = 0x00050006,
1590 ParasolidTopoEdge = 0x00050007,
1591 ParasolidTopoVertex = 0x00050008,
1625 virtual void Assign(
Component const & in_that);
1630 bool Equals(
Component const & in_that)
const;
1635 bool operator!=(
Component const & in_that)
const;
1640 bool operator==(
Component const & in_that)
const;
1645 ComponentType GetComponentType()
const;
1650 bool HasComponentType(ComponentType in_mask)
const;
1659 void AddKey(
Key const & in_key);
1663 KeyArray GetKeys()
const;
1676 ComponentArray GetOwners()
const;
1680 ComponentArray GetSubcomponents()
const;
1686 ComponentArray GetAllSubcomponents(ComponentType in_type)
const;
1692 void AddReference(
Component & in_reference);
1696 ComponentArray GetReferrers()
const;
1701 ComponentArray GetReferences()
const;
1707 MetadataArray GetAllMetadata()
const;
1712 Metadata GetMetadata(
char const * in_name)
const;
1730 static KeyPathArray GetKeyPath(
Component const & in_component);
1741 static KeyPathArray GetKeyPath(
size_t in_count,
Component const in_components[]);
1751 static KeyPathArray GetKeyPath(ComponentArray
const & in_components);
1787 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentPath; }
1802 ComponentPath & operator+=(ComponentArray
const & in_components);
1817 ComponentPath & Append(ComponentArray
const & in_components);
1852 ComponentPath & SetComponents(ComponentArray
const & in_components);
1862 ComponentArray GetComponents()
const;
1867 KeyPathArray GetKeyPaths()
const;
1873 KeyPathArray GetKeyPaths(
Canvas const & in_canvas,
size_t in_layer = 0)
const;
1902 void Hide(
Canvas const & in_canvas,
size_t in_layer = 0);
1907 void Show(
Canvas const & in_canvas,
size_t in_layer = 0);
1914 bool IsHidden(
Canvas const & in_canvas,
size_t in_layer = 0);
1919 void Isolate(
Canvas const & in_canvas,
size_t in_layer = 0);
1921 static void Isolate(HPS::ComponentPathArray & in_components_to_be_isolated,
Canvas const & in_canvas,
size_t in_layer = 0);
1929 inline ComponentPath operator+(Component
const & in_lhs, Component
const & in_rhs)
1938 inline ComponentPath operator+(Component
const & in_lhs, ComponentArray
const & in_rhs)
1947 inline ComponentPath operator+(Component
const & in_lhs, ComponentPath
const & in_rhs)
1956 inline ComponentPath operator+(ComponentArray
const & in_lhs, Component
const & in_rhs)
1965 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentArray
const & in_rhs)
1974 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentPath
const & in_rhs)
1983 inline ComponentPath operator+(ComponentPath
const & in_lhs, Component
const & in_rhs)
1992 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentArray
const & in_rhs)
2001 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentPath
const & in_rhs)
2021 channel = GetClassID();
2023 action = Action::None;
2029 :
Event(), action(in_action), path(in_path), options(in_options)
2031 channel = GetClassID();
2039 if (in_event.
GetChannel() == Object::ClassID<ComponentHighlightEvent>())
2042 action = that.action;
2044 options = that.options;
2102 void Activate(
View const & in_view);
2106 void Deactivate(
View const & in_view);
2123 channel = GetClassID();
2129 channel = GetClassID();
2137 if (in_event.
GetChannel() == Object::ClassID<FilterActivationEvent>())
2140 filter = that.filter;
2141 action = that.action;
2211 channel = GetClassID();
2217 channel = GetClassID();
2225 if (in_event.
GetChannel() == Object::ClassID<CaptureActivationEvent>())
2228 capture = that.capture;
2291 Component GetComponentFromKey(
Key const & in_key)
const;
2309 Model GetModel()
const;
2313 FilterArray GetAllFilters()
const;
2317 CaptureArray GetAllCaptures()
const;
2322 FilterArray GetActiveFilters(
View const & in_view)
const;
2328 View ActivateDefaultCapture();
2338 void ResetVisibility(
Canvas & in_canvas,
size_t in_layer = 0);
2381 virtual void Assign(
Metadata const & in_that);
2386 bool Equals(
Metadata const & in_that)
const;
2391 bool operator!=(
Metadata const & in_that)
const;
2396 bool operator==(
Metadata const & in_that)
const;
2405 void SetName(
char const * in_name);
2435 HPS::Type
ObjectType()
const {
return HPS::Type::IntegerMetadata; }
2449 int GetValue()
const;
2453 void SetValue(
int in_value);
2483 HPS::Type
ObjectType()
const {
return HPS::Type::UnsignedIntegerMetadata; }
2497 unsigned int GetValue()
const;
2501 void SetValue(
unsigned int in_value);
2531 HPS::Type
ObjectType()
const {
return HPS::Type::DoubleMetadata; }
2545 double GetValue()
const;
2549 void SetValue(
double in_value);
2579 HPS::Type
ObjectType()
const {
return HPS::Type::StringMetadata; }
2593 UTF8 GetValue()
const;
2597 void SetValue(
char const * in_value);
2623 TimeMetadata(
char const * in_name,
unsigned int in_value);
2641 unsigned int GetValue()
const;
2649 void SetValue(
unsigned int in_value);
2680 HPS::Type
ObjectType()
const {
return HPS::Type::BooleanMetadata; }
2694 bool GetValue()
const;
2698 void SetValue(
bool in_value);
2710 static CanvasArray GetCanvases();
2714 static LayoutArray GetLayouts();
2718 static ViewArray GetViews();
2722 static ModelArray GetModels();
2726 static CADModelArray GetCADModels();
2751 static Layout CreateLayout(
char const * in_name =
"");
2756 static View CreateView(
char const * in_name =
"");
2761 static Model CreateModel(
char const * in_name =
"");
2788 virtual bool OnMouseDown(
MouseState const & in_state);
2793 virtual bool OnMouseUp(
MouseState const & in_state);
2798 virtual bool OnMouseMove(
MouseState const & in_state);
2804 virtual bool OnTouchDown(
TouchState const & in_state);
2809 virtual bool OnTouchUp(
TouchState const & in_state);
2814 virtual bool OnTouchMove(
TouchState const & in_state);
2816 virtual void OnViewAttached();
2817 virtual void OnViewDetached();
2824 bool IsEventRelevant(
HPS::Point const & event_location);
2826 bool operator_active;
2829 float axis_subwindow_width;
2830 float axis_subwindow_height;
2831 HPS::TouchID tracked_touch_ID;
2848 { channel = HPS::Object::ClassID<SmoothTransitionCompleteEvent>(); }
2863 HPS_UNREFERENCED(in_that_event);
2892 virtual bool OnMouseDown(
MouseState const & in_state);
2897 virtual bool OnMouseUp(
MouseState const & in_state);
2902 virtual bool OnMouseMove(
MouseState const & in_state);
2907 virtual bool OnTouchDown(
TouchState const & in_state);
2912 virtual bool OnTouchUp(
TouchState const & in_state);
2917 virtual bool OnTouchMove(
TouchState const & in_state);
2919 virtual void OnViewAttached();
2920 virtual void OnViewDetached();
2922 virtual void OnModelAttached();
2924 void UpdateHighlightColor();
2935 void SetReferenceSegment(HPS::SegmentKeyArray
const & in_segments);
2940 HPS::SegmentKeyArray ShowReferenceSegment();
2946 bool IsEventRelevant(
HPS::Point const & event_location);
2949 bool operator_active;
2950 HPS::TouchID tracked_touch_ID;
2954 HPS::SegmentKeyArray reference_segments;
2959 HPS::ReferenceKeyArrayArray groups;
2963 bool suppress_mouse_over_highlights;
2966 float nav_cube_subwindow_width;
2967 float nav_cube_subwindow_height;
2969 int highlighted_group;
2973 class SmoothTransitionCompleteEventHandler :
public EventHandler
2976 SmoothTransitionCompleteEventHandler(
View const & in_view,
bool & in_moving)
2977 : handler_view(in_view), handler_moving(&in_moving) {}
2979 ~SmoothTransitionCompleteEventHandler() { Shutdown(); }
2981 virtual HandleResult Handle(
HPS::Event const * in_event);
2985 bool * handler_moving;
2988 SmoothTransitionCompleteEventHandler * handler;
2994 class SceneTreeItem;
2995 typedef std::shared_ptr<SceneTreeItem> SceneTreeItemPtr;
2997 typedef std::shared_ptr<SceneTree> SceneTreePtr;
3009 GenericMask = 0xffff0000,
3011 Segment = 0x00000001,
3012 Include = 0x00000002,
3013 ConditionalExpression = 0x00000003,
3014 StaticModelSegment = 0x00000004,
3015 AttributeFilter = 0x00000005,
3017 Geometry = 0x00010000,
3022 NURBSSurface = 0x00010005,
3025 Polygon = 0x00010008,
3026 Circle = 0x00010009,
3027 CircularWedge = 0x0001000a,
3028 Ellipse = 0x0001000b,
3030 NURBSCurve = 0x0001000d,
3031 CircularArc = 0x0001000e,
3032 EllipticalArc = 0x0001000f,
3034 InfiniteRay = 0x00010011,
3037 Reference = 0x00010014,
3038 DistantLight = 0x00010015,
3041 Attribute = 0x00020000,
3042 Portfolio = 0x00020001,
3043 SegmentStyle = 0x00020002,
3044 NamedStyle = 0x00020003,
3045 MaterialPalette = 0x00020004,
3046 Priority = 0x00020005,
3049 ModellingMatrix = 0x00020008,
3050 UserData = 0x00020009,
3051 TextureMatrix = 0x0002000a,
3052 Culling = 0x0002000b,
3053 CurveAttribute = 0x0002000c,
3054 CylinderAttribute = 0x0002000d,
3055 EdgeAttribute = 0x0002000e,
3056 LightingAttribute = 0x0002000f,
3057 LineAttribute = 0x00020010,
3058 MarkerAttribute = 0x00020011,
3059 SurfaceAttribute = 0x00020012,
3061 SphereAttribute = 0x00020014,
3063 TextAttribute = 0x00020016,
3065 Visibility = 0x00020018,
3066 VisualEffects = 0x00020019,
3068 DrawingAttribute = 0x00020021,
3069 HiddenLineAttribute = 0x00020022,
3074 TransformMask = 0x00020027,
3075 ColorInterpolation = 0x00020028,
3076 CuttingSectionAttribute = 0x00020029,
3079 Debugging = 0x00020030,
3081 SelectionOptions = 0x00020032,
3082 UpdateOptions = 0x00020033,
3092 ShaderDefinition = 0x00040008,
3095 SegmentGroup = 0x00080100,
3096 GeometryGroup = 0x00080200,
3097 AttributeGroup = 0x00080300,
3098 PortfolioGroup = 0x00080400,
3099 StyleGroup = 0x00080500,
3100 IncludeGroup = 0x00080600,
3101 DefinitionGroup = 0x00180000,
3102 NamedStyleDefinitionGroup = 0x00180700,
3103 TextureDefinitionGroup = 0x00180800,
3104 LinePatternDefinitionGroup = 0x00180900,
3105 GlyphDefinitionGroup = 0x00180a00,
3106 CubeMapDefinitionGroup = 0x00180b00,
3107 ImageDefinitionGroup = 0x00180c00,
3108 MaterialPaletteDefinitionGroup = 0x00180d00,
3109 ShaderDefinitionGroup = 0x00180e00,
3110 CuttingSectionGroup = 0x00080001,
3111 ShellGroup = 0x00080002,
3112 MeshGroup = 0x00080003,
3113 GridGroup = 0x00080004,
3114 NURBSSurfaceGroup = 0x00080005,
3115 CylinderGroup = 0x00080006,
3116 SphereGroup = 0x00080007,
3117 PolygonGroup = 0x00080008,
3118 CircleGroup = 0x00080009,
3119 CircularWedgeGroup = 0x0008000a,
3120 EllipseGroup = 0x0008000b,
3121 LineGroup = 0x0008000c,
3122 NURBSCurveGroup = 0x0008000d,
3123 CircularArcGroup = 0x0008000e,
3124 EllipticalArcGroup = 0x0008000f,
3125 InfiniteLineGroup = 0x00080010,
3126 InfiniteRayGroup = 0x00080011,
3127 MarkerGroup = 0x00080012,
3128 TextGroup = 0x00080013,
3129 ReferenceGroup = 0x00080014,
3130 DistantLightGroup = 0x00080015,
3131 SpotlightGroup = 0x00080016,
3151 virtual HPS::Type
ObjectType()
const {
return HPS::Type::SceneTree; }
3166 virtual void Assign(
SceneTree const & in_that);
3171 bool Equals(
SceneTree const & in_that)
const;
3176 bool operator!=(
SceneTree const & in_that)
const;
3181 bool operator==(
SceneTree const & in_that)
const;
3202 void SetGroupingLimit(
size_t in_limit);
3206 size_t GetGroupingLimit()
const;
3215 void SetRoot(SceneTreeItemPtr
const & in_root);
3219 SceneTreeItemPtr GetRoot()
const;
3224 virtual void Flush();
3283 HPS::Type
ObjectType()
const {
return HPS::Type::SceneTreeItem; }
3318 SceneTreePtr GetTree()
const;
3322 UTF8 GetTitle()
const;
3339 bool HasChildren()
const;
3350 virtual SceneTreeItemPtr AddChild(
Key const & in_key,
SceneTree::ItemType in_type,
char const * in_title =
nullptr) = 0;
3355 virtual void Expand();
3359 virtual void Collapse();
3366 bool IsSelected()
const;
3373 virtual void Select();
3380 virtual void Unselect();
3386 bool IsHighlightable()
const;
3393 bool IsHighlighted()
const;
3409 class ComponentTreeItem;
3410 typedef std::shared_ptr<ComponentTreeItem> ComponentTreeItemPtr;
3411 class ComponentTree;
3412 typedef std::shared_ptr<ComponentTree> ComponentTreePtr;
3428 ExchangeAnnotationViewGroup,
3454 virtual HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTree; }
3507 void SetRoot(ComponentTreeItemPtr
const & in_root);
3511 ComponentTreeItemPtr GetRoot()
const;
3516 virtual void Flush();
3553 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTreeItem; }
3589 ComponentTreePtr GetTree()
const;
3593 UTF8 GetTitle()
const;
3605 bool HasChildren()
const;
3624 virtual void Expand();
3628 virtual void Collapse();
3636 bool IsHighlighted()
const;
3671 bool IsHidden()
const;
3676 virtual void OnHide();
3681 virtual void OnShow();
3701 bool IsExpanded()
const;
HPS::Type ObjectType() const
Definition: sprk.h:438
Event * Clone() const
Definition: sprk.h:679
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:2037
HPS::Type ObjectType() const
Definition: sprk.h:247
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:1060
ComponentHighlightEvent()
Definition: sprk.h:2019
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:1086
HPS::Type ObjectType() const
Definition: sprk.h:216
HPS::Type ObjectType() const
Definition: sprk.h:977
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:1050
HPS::Type ObjectType() const
Definition: sprk.h:2088
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5532
Location
Definition: sprk.h:1256
ModifierKeys GetModifierTrigger() const
Definition: sprk.h:1089
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk.h:1055
ItemType
Definition: sprk.h:3421
CaptureActivationEvent()
Definition: sprk.h:2209
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1015
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:1025
HPS::Type ObjectType() const
Definition: sprk.h:2276
HPS::Type ObjectType() const
Definition: sprk.h:1787
ModelDeletedEvent()
Definition: sprk.h:887
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:2847
virtual bool OnTouchUp(TouchState const &in_state)
Definition: sprk.h:1040
MouseButtons GetMouseTrigger() const
Definition: sprk.h:1081
virtual HPS::Type ObjectType() const
Definition: sprk.h:3151
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Event * Clone() const
Definition: sprk.h:723
HPS::Type ObjectType() const
Definition: sprk.h:1419
UpdateControl
Definition: hps.h:175
virtual void OnModelDetached()
Definition: sprk.h:1074
void SetMouseTrigger(MouseButtons in_buttons)
Definition: sprk.h:1077
ComponentPath & Append(Component const &in_component)
Event * Clone() const
Definition: sprk.h:829
HPS::Type ObjectType() const
Definition: sprk.h:113
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:765
virtual void OnViewDetached()
Definition: sprk.h:1066
HPS::Type ObjectType() const
Definition: sprk.h:3283
LayoutDeletedEvent()
Definition: sprk.h:693
Event * Clone() const
Definition: sprk.h:873
virtual void OnViewAttached()
Definition: sprk.h:1063
LayoutDetachedEvent()
Definition: sprk.h:648
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:1030
SmoothTransitionCompleteEvent()
Definition: sprk.h:2842
HPS::Type ObjectType() const
Definition: sprk.h:505
virtual bool OnMouseUp(MouseState const &in_state)
Definition: sprk.h:1010
FilterActivationEvent()
Definition: sprk.h:2121
virtual void OnModelAttached()
Definition: sprk.h:1070
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:2135
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:857
HPS::Type ObjectType() const
Definition: sprk.h:1284
HPS::Type ObjectType() const
Definition: sprk.h:1609
Location
Definition: sprk.h:1391
UpdateType
Definition: sprk.h:78
HPS::Type ObjectType() const
Definition: sprk.h:1131
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:229
virtual UTF8 GetName() const
Definition: sprk.h:1000
Event * Clone() const
Definition: sprk.h:2152
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:2223
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:1035
CanvasDeletedEvent()
Definition: sprk.h:605
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1020
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:224
Event * Clone() const
Definition: sprk.h:2239
ViewDeletedEvent()
Definition: sprk.h:799
intptr_t GetChannel() const
Definition: hps.h:6147
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:2861
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2781
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:814
ViewDetachedEvent()
Definition: sprk.h:743
Event * Clone() const
Definition: sprk.h:2054
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:620
ComponentType
Definition: sprk.h:1518
Event * Clone() const
Definition: sprk.h:635
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:663
HPS::Type ObjectType() const
Definition: sprk.h:3553
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1005
ItemType
Definition: sprk.h:3006
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2886
Event * Clone() const
Definition: sprk.h:917
ModelDetachedEvent()
Definition: sprk.h:842
virtual HPS::Type ObjectType() const
Definition: sprk.h:3454
HPS::Type ObjectType() const
Definition: sprk.h:938
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:1092
Event * Clone() const
Definition: sprk.h:2852
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:902
Event * Clone() const
Definition: sprk.h:783
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:708
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:1045
Mode
Definition: sprk.h:195
HPS::Type ObjectType() const
Definition: sprk.h:2186