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;
84 typedef std::shared_ptr<Operator> OperatorPtr;
86 typedef std::vector<OperatorPtr, Allocator<OperatorPtr> > OperatorPtrArray;
88 typedef std::vector<Canvas, Allocator<Canvas> > CanvasArray;
89 typedef std::vector<Layout, Allocator<Layout> > LayoutArray;
90 typedef std::vector<View, Allocator<View> > ViewArray;
91 typedef std::vector<Model, Allocator<Model> > ModelArray;
93 typedef std::vector<Component, Allocator<Component> > ComponentArray;
94 typedef std::vector<Metadata, Allocator<Metadata> > MetadataArray;
95 typedef std::vector<Filter, Allocator<Filter> > FilterArray;
96 typedef std::vector<Capture, Allocator<Capture> > CaptureArray;
97 typedef std::vector<CADModel, Allocator<CADModel> > CADModelArray;
98 typedef std::vector<ReferenceKeyArray, Allocator<ReferenceKeyArray>> ReferenceKeyArrayArray;
99 typedef std::vector<ComponentPath, Allocator<ComponentPath>> ComponentPathArray;
118 void Assign(
Canvas const & in_that);
120 bool Equals(
Canvas const & in_that)
const;
121 bool operator!= (
Canvas const & in_that)
const;
122 bool operator== (
Canvas const & in_that)
const;
125 UTF8 GetName()
const;
130 void AttachLayout(
Layout const & in_layout);
135 void AttachViewAsLayout(
View const & in_view);
141 Layout GetAttachedLayout()
const;
144 IncludeKey GetAttachedLayoutIncludeLink()
const;
147 View GetFrontView()
const;
161 void Update(HPS::Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
181 void SetFrameRate(
float in_frame_rate=20);
186 float GetFrameRate()
const;
215 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketControl;}
230 this->Object::operator=(std::move(in_that));
251 View & operator=(
View const & in_that);
252 void Assign(
View const & in_that);
254 bool Equals(
View const & in_that)
const;
255 bool operator!= (
View const & in_that)
const;
256 bool operator== (
View const & in_that)
const;
259 UTF8 GetName()
const;
317 void AttachModel(
Model const & in_model);
323 Model GetAttachedModel()
const;
326 IncludeKey GetAttachedModelIncludeLink()
const;
338 OperatorPtrArray GetOperators()
const;
342 void SetOperators(OperatorPtrArray & in_operators);
347 void SetOperators(
size_t in_count, OperatorPtr in_operators []);
351 void SetOperator(OperatorPtr
const & in_operator);
355 void SetOperator(
Operator * in_operator);
377 SegmentKey const GetModelOverrideSegmentKey()
const;
389 void SetSimpleShadow(
bool in_state,
float in_percent_offset = 5.0f);
392 bool GetSimpleShadow();
398 void SetSimpleReflection(
bool in_state,
float in_percent_offset = 5.0f);
401 bool GetSimpleReflection();
404 void Update(HPS::Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
414 void SmoothTransition(
HPS::CameraKit const & in_camera_kit, HPS::Time in_duration = 0.5);
416 static UTF8 GetHideStyleName();
417 static UTF8 GetShowStyleName();
420 KeyArray
const GetNavigationKeys();
423 LayoutArray GetOwningLayouts();
424 LayoutArray
const GetOwningLayouts()
const;
443 void Assign(
Model const & in_that);
445 bool Equals(
Model const & in_that)
const;
446 bool operator!= (
Model const & in_that)
const;
447 bool operator== (
Model const & in_that)
const;
450 UTF8 GetName()
const;
474 HPS::ViewArray GetOwningViews();
475 HPS::ViewArray
const GetOwningViews()
const;
486 void Update(HPS::Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
510 void Assign(
Layout const & in_that);
512 bool Equals(
Layout const & in_that)
const;
513 bool operator!= (
Layout const & in_that)
const;
514 bool operator== (
Layout const & in_that)
const;
517 UTF8 GetName()
const;
520 size_t GetLayerCount()
const;
533 void DetachLayer(
size_t in_layer);
537 void DetachView(
View const & in_view);
541 void BringToFront(
size_t in_layer);
546 void ReassignLayer(
size_t in_layer,
HPS::View in_view);
551 void RepositionLayer(
size_t in_layer,
HPS::Rectangle const & in_position);
554 View GetFrontView()
const;
559 View GetAttachedView(
size_t in_layer = 0)
const;
564 Rectangle GetPosition(
size_t in_layer)
const;
567 IncludeKey GetAttachedViewIncludeLink(
size_t in_layer)
const;
570 SegmentKey GetLayerSegmentKey(
size_t in_layer)
const;
588 CanvasArray GetOwningCanvases();
589 CanvasArray
const GetOwningCanvases()
const;
592 void Update(HPS::Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
606 channel = GetClassID();
611 :
Event(), canvas(in_canvas)
613 channel = GetClassID();
621 if (in_event.
GetChannel() == Object::ClassID<CanvasDeletedEvent>())
624 canvas = that.canvas;
649 channel = GetClassID();
654 :
Event(), canvas(in_canvas), layout(in_layout)
656 channel = GetClassID();
664 if (in_event.
GetChannel() == Object::ClassID<LayoutDetachedEvent>())
667 canvas = that.canvas;
668 layout = that.layout;
694 channel = GetClassID();
699 :
Event(), layout(in_layout)
701 channel = GetClassID();
709 if (in_event.
GetChannel() == Object::ClassID<LayoutDeletedEvent>())
712 layout = that.layout;
744 channel = GetClassID();
749 :
Event(), layout(in_layout), action(Action::SpecificLayer), layer(in_layer), view(in_view)
751 channel = GetClassID();
755 ViewDetachedEvent(Layout
const & in_layout, View
const & in_view)
756 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
758 channel = GetClassID();
766 if (in_event.
GetChannel() == Object::ClassID<ViewDetachedEvent>())
769 layout = that.layout;
770 action = that.action;
800 channel = GetClassID();
805 :
Event(), view(in_view)
807 channel = GetClassID();
815 if (in_event.
GetChannel() == Object::ClassID<ViewDeletedEvent>())
843 channel = GetClassID();
848 :
Event(), view(in_view), model(in_model)
850 channel = GetClassID();
858 if (in_event.
GetChannel() == Object::ClassID<ModelDetachedEvent>())
888 channel = GetClassID();
893 :
Event(), model(in_model)
895 channel = GetClassID();
903 if (in_event.
GetChannel() == Object::ClassID<ModelDeletedEvent>())
937 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketPath; }
953 View GetView()
const;
956 Model GetModel()
const;
981 virtual void Assign(
Operator const & in_that);
984 virtual bool Equals(
Operator const & in_that)
const;
987 virtual bool operator!= (
Operator const & in_that)
const;
990 virtual bool operator== (
Operator const & in_that)
const;
996 View GetAttachedView()
const;
1130 HPS::Type
ObjectType()
const {
return HPS::Type::OperatorControl;};
1141 size_t GetCount(Operator::Priority in_priority);
1149 OperatorControl & Push(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1161 bool Pop(Operator::Priority in_priority = Operator::Priority::Normal);
1167 bool Pop(OperatorPtr & out_operator);
1174 bool Pop(Operator::Priority in_priority, OperatorPtr & out_operator);
1182 OperatorControl & Set(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1196 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Normal);
1204 OperatorControl & Set(
size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Normal);
1210 OperatorControl & UnsetTop(Operator::Priority in_priority = Operator::Priority::Normal);
1225 bool ShowTop(OperatorPtr & out_operator)
const;
1231 bool ShowTop(Operator::Priority in_priority, OperatorPtr & out_operator)
const;
1236 bool Show(OperatorPtrArray & out_operators)
const;
1242 bool Show(Operator::Priority in_priority, OperatorPtrArray & out_operators)
const;
1283 HPS::Type
ObjectType()
const {
return HPS::Type::NavigationCubeControl;};
1298 Location GetLocation()
const;
1317 bool GetVisibility()
const;
1326 bool GetTextVisibility()
const;
1360 bool GetInteractivity()
const;
1370 float GetSize()
const;
1418 HPS::Type
ObjectType()
const {
return HPS::Type::AxisTriadControl;};
1433 Location GetLocation()
const;
1452 bool GetVisibility()
const;
1461 bool GetTextVisibility()
const;
1487 bool GetInteractivity()
const;
1497 float GetSize()
const;
1520 GenericMask = 0xfffff000,
1522 ExchangeComponentMask = 0x00001000,
1523 ExchangeModelFile = 0x00001001,
1524 ExchangeProductOccurrence = 0x00001002,
1525 ExchangePartDefinition = 0x00001003,
1527 ExchangeView = 0x00001004,
1528 ExchangeFilter = 0x00001005,
1530 ExchangeRepresentationItemMask = 0x00003000,
1531 ExchangeRIBRepModel = 0x00003001,
1532 ExchangeRICurve = 0x00003002,
1533 ExchangeRIDirection = 0x00003003,
1534 ExchangeRIPlane = 0x00003004,
1535 ExchangeRIPointSet = 0x00003005,
1536 ExchangeRIPolyBRepModel = 0x00003006,
1537 ExchangeRIPolyWire = 0x00003007,
1538 ExchangeRISet = 0x00003008,
1539 ExchangeRICoordinateSystem = 0x00003009,
1541 ExchangeTopologyMask = 0x00005000,
1542 ExchangeTopoBody = 0x00005001,
1543 ExchangeTopoConnex = 0x00005002,
1544 ExchangeTopoShell = 0x00005003,
1545 ExchangeTopoFace = 0x00005004,
1546 ExchangeTopoLoop = 0x00005005,
1547 ExchangeTopoCoEdge = 0x00005006,
1548 ExchangeTopoEdge = 0x00005007,
1549 ExchangeTopoVertex = 0x00005008,
1550 ExchangeTopoSingleWireBody = 0x00005009,
1551 ExchangeTopoWireEdge = 0x0000500a,
1553 ExchangeDrawingMask = 0x00006000,
1554 ExchangeDrawingModel = 0x00006001,
1555 ExchangeDrawingView = 0x00006002,
1556 ExchangeDrawingSheet = 0x00006003,
1557 ExchangeBasicDrawingBlock = 0x00006004,
1558 ExchangeOperatorDrawingBlock = 0x00006005,
1560 ExchangePMIMask = 0x00009000,
1561 ExchangePMI = ExchangePMIMask,
1562 ExchangePMIText = 0x00009100,
1563 ExchangePMIRichText = 0x00009200,
1564 ExchangePMIRoughness = 0x00009300,
1565 ExchangePMIGDT = 0x00009400,
1566 ExchangePMIDatum = 0x00009500,
1567 ExchangePMILineWelding = 0x00009600,
1568 ExchangePMISpotWelding = 0x00009700,
1569 ExchangePMIDimension = 0x00009800,
1570 ExchangePMIBalloon = 0x00009900,
1571 ExchangePMICoordinate = 0x00009a00,
1572 ExchangePMIFastener = 0x00009b00,
1573 ExchangePMILocator = 0x00009c00,
1574 ExchangePMIMeasurementPoint = 0x00009d00,
1577 ParasolidComponentMask = 0x00010000,
1579 ParasolidModelFile = 0x00010001,
1580 ParasolidAssembly = 0x00010002,
1582 ParasolidTopologyMask = 0x00050000,
1583 ParasolidTopoBody = 0x00050001,
1584 ParasolidTopoRegion = 0x00050002,
1585 ParasolidTopoShell = 0x00050003,
1586 ParasolidTopoFace = 0x00050004,
1587 ParasolidTopoLoop = 0x00050005,
1588 ParasolidTopoFin = 0x00050006,
1589 ParasolidTopoEdge = 0x00050007,
1590 ParasolidTopoVertex = 0x00050008,
1624 virtual void Assign(
Component const & in_that);
1629 bool Equals(
Component const & in_that)
const;
1634 bool operator!=(
Component const & in_that)
const;
1639 bool operator==(
Component const & in_that)
const;
1644 ComponentType GetComponentType()
const;
1649 bool HasComponentType(ComponentType in_mask)
const;
1658 void AddKey(
Key const & in_key);
1662 KeyArray GetKeys()
const;
1675 ComponentArray GetOwners()
const;
1679 ComponentArray GetSubcomponents()
const;
1685 ComponentArray GetAllSubcomponents(ComponentType in_type)
const;
1691 void AddReference(
Component & in_reference);
1695 ComponentArray GetReferrers()
const;
1700 ComponentArray GetReferences()
const;
1706 MetadataArray GetAllMetadata()
const;
1711 Metadata GetMetadata(
char const * in_name)
const;
1729 static KeyPathArray GetKeyPath(
Component const & in_component);
1740 static KeyPathArray GetKeyPath(
size_t in_count,
Component const in_components[]);
1750 static KeyPathArray GetKeyPath(ComponentArray
const & in_components);
1786 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentPath; }
1801 ComponentPath & operator+=(ComponentArray
const & in_components);
1816 ComponentPath & Append(ComponentArray
const & in_components);
1851 ComponentPath & SetComponents(ComponentArray
const & in_components);
1861 ComponentArray GetComponents()
const;
1866 KeyPathArray GetKeyPaths()
const;
1872 KeyPathArray GetKeyPaths(
Canvas const & in_canvas,
size_t in_layer = 0)
const;
1901 void Hide(
Canvas const & in_canvas,
size_t in_layer = 0);
1906 void Show(
Canvas const & in_canvas,
size_t in_layer = 0);
1911 void Isolate(
Canvas const & in_canvas,
size_t in_layer = 0);
1913 static void Isolate(HPS::ComponentPathArray & in_components_to_be_isolated,
Canvas const & in_canvas,
size_t in_layer = 0);
1921 inline ComponentPath operator+(Component
const & in_lhs, Component
const & in_rhs)
1930 inline ComponentPath operator+(Component
const & in_lhs, ComponentArray
const & in_rhs)
1939 inline ComponentPath operator+(Component
const & in_lhs, ComponentPath
const & in_rhs)
1948 inline ComponentPath operator+(ComponentArray
const & in_lhs, Component
const & in_rhs)
1957 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentArray
const & in_rhs)
1966 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentPath
const & in_rhs)
1975 inline ComponentPath operator+(ComponentPath
const & in_lhs, Component
const & in_rhs)
1984 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentArray
const & in_rhs)
1993 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentPath
const & in_rhs)
2013 channel = GetClassID();
2015 action = Action::None;
2021 :
Event(), action(in_action), path(in_path), options(in_options)
2023 channel = GetClassID();
2031 if (in_event.
GetChannel() == Object::ClassID<ComponentHighlightEvent>())
2034 action = that.action;
2036 options = that.options;
2094 void Activate(
View const & in_view);
2098 void Deactivate(
View const & in_view);
2115 channel = GetClassID();
2121 channel = GetClassID();
2129 if (in_event.
GetChannel() == Object::ClassID<FilterActivationEvent>())
2132 filter = that.filter;
2133 action = that.action;
2203 channel = GetClassID();
2209 channel = GetClassID();
2217 if (in_event.
GetChannel() == Object::ClassID<CaptureActivationEvent>())
2220 capture = that.capture;
2283 Component GetComponentFromKey(
Key const & in_key)
const;
2301 Model GetModel()
const;
2305 FilterArray GetAllFilters()
const;
2309 CaptureArray GetAllCaptures()
const;
2314 FilterArray GetActiveFilters(
View const & in_view)
const;
2320 View ActivateDefaultCapture();
2330 void ResetVisibility(
Canvas & in_canvas,
size_t in_layer = 0);
2373 virtual void Assign(
Metadata const & in_that);
2378 bool Equals(
Metadata const & in_that)
const;
2383 bool operator!=(
Metadata const & in_that)
const;
2388 bool operator==(
Metadata const & in_that)
const;
2397 void SetName(
char const * in_name);
2427 HPS::Type
ObjectType()
const {
return HPS::Type::IntegerMetadata; }
2441 int GetValue()
const;
2445 void SetValue(
int in_value);
2475 HPS::Type
ObjectType()
const {
return HPS::Type::UnsignedIntegerMetadata; }
2489 unsigned int GetValue()
const;
2493 void SetValue(
unsigned int in_value);
2523 HPS::Type
ObjectType()
const {
return HPS::Type::DoubleMetadata; }
2537 double GetValue()
const;
2541 void SetValue(
double in_value);
2571 HPS::Type
ObjectType()
const {
return HPS::Type::StringMetadata; }
2585 UTF8 GetValue()
const;
2589 void SetValue(
char const * in_value);
2615 TimeMetadata(
char const * in_name,
unsigned int in_value);
2633 unsigned int GetValue()
const;
2641 void SetValue(
unsigned int in_value);
2672 HPS::Type
ObjectType()
const {
return HPS::Type::BooleanMetadata; }
2686 bool GetValue()
const;
2690 void SetValue(
bool in_value);
2702 static CanvasArray GetCanvases();
2706 static LayoutArray GetLayouts();
2710 static ViewArray GetViews();
2714 static ModelArray GetModels();
2718 static CADModelArray GetCADModels();
2743 static Layout CreateLayout(
char const * in_name =
"");
2748 static View CreateView(
char const * in_name =
"");
2753 static Model CreateModel(
char const * in_name =
"");
2780 virtual bool OnMouseDown(
MouseState const & in_state);
2785 virtual bool OnMouseUp(
MouseState const & in_state);
2790 virtual bool OnMouseMove(
MouseState const & in_state);
2796 virtual bool OnTouchDown(
TouchState const & in_state);
2801 virtual bool OnTouchUp(
TouchState const & in_state);
2806 virtual bool OnTouchMove(
TouchState const & in_state);
2808 virtual void OnViewAttached();
2809 virtual void OnViewDetached();
2816 bool IsEventRelevant(
HPS::Point const & event_location);
2818 bool operator_active;
2821 float axis_subwindow_width;
2822 float axis_subwindow_height;
2823 HPS::TouchID tracked_touch_ID;
2840 { channel = HPS::Object::ClassID<SmoothTransitionCompleteEvent>(); }
2855 HPS_UNREFERENCED(in_that_event);
2884 virtual bool OnMouseDown(
MouseState const & in_state);
2889 virtual bool OnMouseUp(
MouseState const & in_state);
2894 virtual bool OnMouseMove(
MouseState const & in_state);
2899 virtual bool OnTouchDown(
TouchState const & in_state);
2904 virtual bool OnTouchUp(
TouchState const & in_state);
2909 virtual bool OnTouchMove(
TouchState const & in_state);
2911 virtual void OnViewAttached();
2912 virtual void OnViewDetached();
2914 virtual void OnModelAttached();
2916 void UpdateHighlightColor();
2927 void SetReferenceSegment(HPS::SegmentKeyArray
const & in_segments);
2932 HPS::SegmentKeyArray ShowReferenceSegment();
2938 bool IsEventRelevant(
HPS::Point const & event_location);
2941 bool operator_active;
2942 HPS::TouchID tracked_touch_ID;
2946 HPS::SegmentKeyArray reference_segments;
2951 HPS::ReferenceKeyArrayArray groups;
2957 float nav_cube_subwindow_width;
2958 float nav_cube_subwindow_height;
2960 int highlighted_group;
2964 class SmoothTransitionCompleteEventHandler :
public EventHandler
2967 SmoothTransitionCompleteEventHandler(
View const & in_view,
bool & in_moving)
2968 : handler_view(in_view), handler_moving(&in_moving) {}
2970 ~SmoothTransitionCompleteEventHandler() { Shutdown(); }
2972 virtual HandleResult Handle(
HPS::Event const * in_event);
2976 bool * handler_moving;
2979 SmoothTransitionCompleteEventHandler * handler;
2985 class SceneTreeItem;
2986 typedef std::shared_ptr<SceneTreeItem> SceneTreeItemPtr;
2988 typedef std::shared_ptr<SceneTree> SceneTreePtr;
3000 GenericMask = 0xffff0000,
3002 Segment = 0x00000001,
3003 Include = 0x00000002,
3004 ConditionalExpression = 0x00000003,
3005 StaticModelSegment = 0x00000004,
3006 AttributeFilter = 0x00000005,
3008 Geometry = 0x00010000,
3013 NURBSSurface = 0x00010005,
3016 Polygon = 0x00010008,
3017 Circle = 0x00010009,
3018 CircularWedge = 0x0001000a,
3019 Ellipse = 0x0001000b,
3021 NURBSCurve = 0x0001000d,
3022 CircularArc = 0x0001000e,
3023 EllipticalArc = 0x0001000f,
3025 InfiniteRay = 0x00010011,
3028 Reference = 0x00010014,
3029 DistantLight = 0x00010015,
3032 Attribute = 0x00020000,
3033 Portfolio = 0x00020001,
3034 SegmentStyle = 0x00020002,
3035 NamedStyle = 0x00020003,
3036 MaterialPalette = 0x00020004,
3037 Priority = 0x00020005,
3040 ModellingMatrix = 0x00020008,
3041 UserData = 0x00020009,
3042 TextureMatrix = 0x0002000a,
3043 Culling = 0x0002000b,
3044 CurveAttribute = 0x0002000c,
3045 CylinderAttribute = 0x0002000d,
3046 EdgeAttribute = 0x0002000e,
3047 LightingAttribute = 0x0002000f,
3048 LineAttribute = 0x00020010,
3049 MarkerAttribute = 0x00020011,
3050 SurfaceAttribute = 0x00020012,
3052 SphereAttribute = 0x00020014,
3054 TextAttribute = 0x00020016,
3056 Visibility = 0x00020018,
3057 VisualEffects = 0x00020019,
3059 DrawingAttribute = 0x00020021,
3060 HiddenLineAttribute = 0x00020022,
3065 TransformMask = 0x00020027,
3066 ColorInterpolation = 0x00020028,
3067 CuttingSectionAttribute = 0x00020029,
3070 Debugging = 0x00020030,
3072 SelectionOptions = 0x00020032,
3073 UpdateOptions = 0x00020033,
3086 SegmentGroup = 0x00080100,
3087 GeometryGroup = 0x00080200,
3088 AttributeGroup = 0x00080300,
3089 PortfolioGroup = 0x00080400,
3090 StyleGroup = 0x00080500,
3091 IncludeGroup = 0x00080600,
3092 DefinitionGroup = 0x00180000,
3093 NamedStyleDefinitionGroup = 0x00180700,
3094 TextureDefinitionGroup = 0x00180800,
3095 LinePatternDefinitionGroup = 0x00180900,
3096 GlyphDefinitionGroup = 0x00180a00,
3097 CubeMapDefinitionGroup = 0x00180b00,
3098 ImageDefinitionGroup = 0x00180c00,
3099 MaterialPaletteDefinitionGroup = 0x00180d00,
3100 ShaderDefinitionGroup = 0x00180e00,
3101 CuttingSectionGroup = 0x00080001,
3102 ShellGroup = 0x00080002,
3103 MeshGroup = 0x00080003,
3104 GridGroup = 0x00080004,
3105 NURBSSurfaceGroup = 0x00080005,
3106 CylinderGroup = 0x00080006,
3107 SphereGroup = 0x00080007,
3108 PolygonGroup = 0x00080008,
3109 CircleGroup = 0x00080009,
3110 CircularWedgeGroup = 0x0008000a,
3111 EllipseGroup = 0x0008000b,
3112 LineGroup = 0x0008000c,
3113 NURBSCurveGroup = 0x0008000d,
3114 CircularArcGroup = 0x0008000e,
3115 EllipticalArcGroup = 0x0008000f,
3116 InfiniteLineGroup = 0x00080010,
3117 InfiniteRayGroup = 0x00080011,
3118 MarkerGroup = 0x00080012,
3119 TextGroup = 0x00080013,
3120 ReferenceGroup = 0x00080014,
3121 DistantLightGroup = 0x00080015,
3122 SpotlightGroup = 0x00080016,
3142 virtual HPS::Type
ObjectType()
const {
return HPS::Type::SceneTree; }
3157 virtual void Assign(
SceneTree const & in_that);
3162 bool Equals(
SceneTree const & in_that)
const;
3167 bool operator!=(
SceneTree const & in_that)
const;
3172 bool operator==(
SceneTree const & in_that)
const;
3193 void SetGroupingLimit(
size_t in_limit);
3197 size_t GetGroupingLimit()
const;
3206 void SetRoot(SceneTreeItemPtr
const & in_root);
3210 SceneTreeItemPtr GetRoot()
const;
3215 virtual void Flush();
3274 HPS::Type
ObjectType()
const {
return HPS::Type::SceneTreeItem; }
3309 SceneTreePtr GetTree()
const;
3313 UTF8 GetTitle()
const;
3330 bool HasChildren()
const;
3341 virtual SceneTreeItemPtr AddChild(
Key const & in_key,
SceneTree::ItemType in_type,
char const * in_title =
nullptr) = 0;
3346 virtual void Expand();
3350 virtual void Collapse();
3357 bool IsSelected()
const;
3364 virtual void Select();
3371 virtual void Unselect();
3377 bool IsHighlightable()
const;
3384 bool IsHighlighted()
const;
3400 class ComponentTreeItem;
3401 typedef std::shared_ptr<ComponentTreeItem> ComponentTreeItemPtr;
3402 class ComponentTree;
3403 typedef std::shared_ptr<ComponentTree> ComponentTreePtr;
3419 ExchangeAnnotationViewGroup,
3445 virtual HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTree; }
3498 void SetRoot(ComponentTreeItemPtr
const & in_root);
3502 ComponentTreeItemPtr GetRoot()
const;
3507 virtual void Flush();
3544 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTreeItem; }
3580 ComponentTreePtr GetTree()
const;
3584 UTF8 GetTitle()
const;
3596 bool HasChildren()
const;
3615 virtual void Expand();
3619 virtual void Collapse();
3627 bool IsHighlighted()
const;
3662 bool IsHidden()
const;
3667 virtual void OnHide();
3672 virtual void OnShow();
3692 bool IsExpanded()
const;
HPS::Type ObjectType() const
Definition: sprk.h:437
Event * Clone() const
Definition: sprk.h:678
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:2029
HPS::Type ObjectType() const
Definition: sprk.h:246
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:1059
ComponentHighlightEvent()
Definition: sprk.h:2011
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:1085
HPS::Type ObjectType() const
Definition: sprk.h:215
HPS::Type ObjectType() const
Definition: sprk.h:976
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:1049
HPS::Type ObjectType() const
Definition: sprk.h:2080
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5523
Location
Definition: sprk.h:1255
ModifierKeys GetModifierTrigger() const
Definition: sprk.h:1088
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk.h:1054
ItemType
Definition: sprk.h:3412
CaptureActivationEvent()
Definition: sprk.h:2201
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1014
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:1024
HPS::Type ObjectType() const
Definition: sprk.h:2268
HPS::Type ObjectType() const
Definition: sprk.h:1786
ModelDeletedEvent()
Definition: sprk.h:886
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:2839
virtual bool OnTouchUp(TouchState const &in_state)
Definition: sprk.h:1039
MouseButtons GetMouseTrigger() const
Definition: sprk.h:1080
virtual HPS::Type ObjectType() const
Definition: sprk.h:3142
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Event * Clone() const
Definition: sprk.h:722
HPS::Type ObjectType() const
Definition: sprk.h:1418
UpdateControl
Definition: hps.h:168
virtual void OnModelDetached()
Definition: sprk.h:1073
void SetMouseTrigger(MouseButtons in_buttons)
Definition: sprk.h:1076
ComponentPath & Append(Component const &in_component)
Event * Clone() const
Definition: sprk.h:828
HPS::Type ObjectType() const
Definition: sprk.h:112
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:764
virtual void OnViewDetached()
Definition: sprk.h:1065
HPS::Type ObjectType() const
Definition: sprk.h:3274
LayoutDeletedEvent()
Definition: sprk.h:692
Event * Clone() const
Definition: sprk.h:872
virtual void OnViewAttached()
Definition: sprk.h:1062
LayoutDetachedEvent()
Definition: sprk.h:647
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:1029
SmoothTransitionCompleteEvent()
Definition: sprk.h:2834
HPS::Type ObjectType() const
Definition: sprk.h:504
virtual bool OnMouseUp(MouseState const &in_state)
Definition: sprk.h:1009
FilterActivationEvent()
Definition: sprk.h:2113
virtual void OnModelAttached()
Definition: sprk.h:1069
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:2127
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:856
HPS::Type ObjectType() const
Definition: sprk.h:1283
HPS::Type ObjectType() const
Definition: sprk.h:1608
Location
Definition: sprk.h:1390
HPS::Type ObjectType() const
Definition: sprk.h:1130
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:228
virtual UTF8 GetName() const
Definition: sprk.h:999
Event * Clone() const
Definition: sprk.h:2144
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:2215
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:1034
CanvasDeletedEvent()
Definition: sprk.h:604
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1019
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:223
Event * Clone() const
Definition: sprk.h:2231
ViewDeletedEvent()
Definition: sprk.h:798
intptr_t GetChannel() const
Definition: hps.h:6138
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:2853
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2773
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:813
ViewDetachedEvent()
Definition: sprk.h:742
Event * Clone() const
Definition: sprk.h:2046
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:619
ComponentType
Definition: sprk.h:1517
Event * Clone() const
Definition: sprk.h:634
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:662
HPS::Type ObjectType() const
Definition: sprk.h:3544
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1004
ItemType
Definition: sprk.h:2997
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2878
Event * Clone() const
Definition: sprk.h:916
ModelDetachedEvent()
Definition: sprk.h:841
virtual HPS::Type ObjectType() const
Definition: sprk.h:3445
HPS::Type ObjectType() const
Definition: sprk.h:937
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:1091
Event * Clone() const
Definition: sprk.h:2844
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:901
Event * Clone() const
Definition: sprk.h:782
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:707
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:1044
Mode
Definition: sprk.h:194
HPS::Type ObjectType() const
Definition: sprk.h:2178