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(Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
181 void SetFrameRate(
float in_frame_rate=20);
186 float GetFrameRate()
const;
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(Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
414 void SmoothTransition(
CameraKit const & in_camera_kit, 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;
467 Vector const GetUpVector()
const;
471 Vector const GetFrontVector()
const;
474 ViewArray GetOwningViews();
475 ViewArray
const GetOwningViews()
const;
480 void SetOrientation(
Vector & in_up_vector,
Vector & in_front_vector);
483 bool ShowOrientation(
Vector & out_up_vector,
Vector & out_front_vector);
486 void Update(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;
525 void AttachViewFront(
View const & in_view,
Rectangle const & in_position =
Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
529 void AttachViewBack(
View const & in_view,
Rectangle const & in_position =
Rectangle(-1.0f, 1.0f, -1.0f, 1.0f));
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,
View in_view);
551 void RepositionLayer(
size_t in_layer,
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;
572 size_t GetLayerAt(
WindowPoint const & in_point)
const;
577 bool ShowLayerAt(
WindowPoint const & in_point)
const;
585 CanvasArray GetOwningCanvases();
586 CanvasArray
const GetOwningCanvases()
const;
589 void Update(Sprocket::UpdateType in_update_type = Sprocket::UpdateType::Asynchronous)
const;
603 channel = GetClassID();
608 :
Event(), canvas(in_canvas)
610 channel = GetClassID();
618 if (in_event.
GetChannel() == Object::ClassID<CanvasDeletedEvent>())
621 canvas = that.canvas;
646 channel = GetClassID();
651 :
Event(), canvas(in_canvas), layout(in_layout)
653 channel = GetClassID();
661 if (in_event.
GetChannel() == Object::ClassID<LayoutDetachedEvent>())
664 canvas = that.canvas;
665 layout = that.layout;
691 channel = GetClassID();
696 :
Event(), layout(in_layout)
698 channel = GetClassID();
706 if (in_event.
GetChannel() == Object::ClassID<LayoutDeletedEvent>())
709 layout = that.layout;
741 channel = GetClassID();
746 :
Event(), layout(in_layout), action(Action::SpecificLayer), layer(in_layer), view(in_view)
748 channel = GetClassID();
752 ViewDetachedEvent(Layout
const & in_layout, View
const & in_view)
753 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
755 channel = GetClassID();
763 if (in_event.
GetChannel() == Object::ClassID<ViewDetachedEvent>())
766 layout = that.layout;
767 action = that.action;
797 channel = GetClassID();
802 :
Event(), view(in_view)
804 channel = GetClassID();
812 if (in_event.
GetChannel() == Object::ClassID<ViewDeletedEvent>())
840 channel = GetClassID();
845 :
Event(), view(in_view), model(in_model)
847 channel = GetClassID();
855 if (in_event.
GetChannel() == Object::ClassID<ModelDetachedEvent>())
885 channel = GetClassID();
890 :
Event(), model(in_model)
892 channel = GetClassID();
900 if (in_event.
GetChannel() == Object::ClassID<ModelDeletedEvent>())
950 View GetView()
const;
953 Model GetModel()
const;
978 virtual void Assign(
Operator const & in_that);
981 virtual bool Equals(
Operator const & in_that)
const;
984 virtual bool operator!= (
Operator const & in_that)
const;
987 virtual bool operator== (
Operator const & in_that)
const;
993 View GetAttachedView()
const;
1138 size_t GetCount(Operator::Priority in_priority);
1146 OperatorControl & Push(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1158 bool Pop(Operator::Priority in_priority = Operator::Priority::Normal);
1164 bool Pop(OperatorPtr & out_operator);
1171 bool Pop(Operator::Priority in_priority, OperatorPtr & out_operator);
1179 OperatorControl & Set(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1193 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Normal);
1201 OperatorControl & Set(
size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Normal);
1207 OperatorControl & UnsetTop(Operator::Priority in_priority = Operator::Priority::Normal);
1222 bool ShowTop(OperatorPtr & out_operator)
const;
1228 bool ShowTop(Operator::Priority in_priority, OperatorPtr & out_operator)
const;
1233 bool Show(OperatorPtrArray & out_operators)
const;
1239 bool Show(Operator::Priority in_priority, OperatorPtrArray & out_operators)
const;
1292 Location GetLocation()
const;
1302 bool GetVisibility();
1311 bool GetTextVisibility();
1331 UTF8 GetMaterialPalette();
1344 bool GetInteractivity();
1404 Location GetLocation()
const;
1414 bool GetVisibility();
1423 bool GetTextVisibility();
1437 UTF8 GetMaterialPalette();
1449 bool GetInteractivity();
1472 GenericMask = 0xfffff000,
1474 ExchangeComponentMask = 0x00001000,
1475 ExchangeModelFile = 0x00001001,
1476 ExchangeProductOccurrence = 0x00001002,
1477 ExchangePartDefinition = 0x00001003,
1479 ExchangeView = 0x00001004,
1480 ExchangeFilter = 0x00001005,
1482 ExchangeRepresentationItemMask = 0x00003000,
1483 ExchangeRIBRepModel = 0x00003001,
1484 ExchangeRICurve = 0x00003002,
1485 ExchangeRIDirection = 0x00003003,
1486 ExchangeRIPlane = 0x00003004,
1487 ExchangeRIPointSet = 0x00003005,
1488 ExchangeRIPolyBRepModel = 0x00003006,
1489 ExchangeRIPolyWire = 0x00003007,
1490 ExchangeRISet = 0x00003008,
1491 ExchangeRICoordinateSystem = 0x00003009,
1493 ExchangeTopologyMask = 0x00005000,
1494 ExchangeTopoBody = 0x00005001,
1495 ExchangeTopoConnex = 0x00005002,
1496 ExchangeTopoShell = 0x00005003,
1497 ExchangeTopoFace = 0x00005004,
1498 ExchangeTopoLoop = 0x00005005,
1499 ExchangeTopoCoEdge = 0x00005006,
1500 ExchangeTopoEdge = 0x00005007,
1501 ExchangeTopoVertex = 0x00005008,
1502 ExchangeTopoSingleWireBody = 0x00005009,
1503 ExchangeTopoWireEdge = 0x0000500a,
1505 ExchangeDrawingMask = 0x00006000,
1506 ExchangeDrawingModel = 0x00006001,
1507 ExchangeDrawingView = 0x00006002,
1508 ExchangeDrawingSheet = 0x00006003,
1509 ExchangeBasicDrawingBlock = 0x00006004,
1510 ExchangeOperatorDrawingBlock = 0x00006005,
1512 ExchangePMIMask = 0x00009000,
1513 ExchangePMI = ExchangePMIMask,
1514 ExchangePMIText = 0x00009100,
1515 ExchangePMIRichText = 0x00009200,
1516 ExchangePMIRoughness = 0x00009300,
1517 ExchangePMIGDT = 0x00009400,
1518 ExchangePMIDatum = 0x00009500,
1519 ExchangePMILineWelding = 0x00009600,
1520 ExchangePMISpotWelding = 0x00009700,
1521 ExchangePMIDimension = 0x00009800,
1522 ExchangePMIBalloon = 0x00009900,
1523 ExchangePMICoordinate = 0x00009a00,
1524 ExchangePMIFastener = 0x00009b00,
1525 ExchangePMILocator = 0x00009c00,
1526 ExchangePMIMeasurementPoint = 0x00009d00,
1529 ParasolidComponentMask = 0x00010000,
1531 ParasolidModelFile = 0x00010001,
1532 ParasolidAssembly = 0x00010002,
1534 ParasolidTopologyMask = 0x00050000,
1535 ParasolidTopoBody = 0x00050001,
1536 ParasolidTopoRegion = 0x00050002,
1537 ParasolidTopoShell = 0x00050003,
1538 ParasolidTopoFace = 0x00050004,
1539 ParasolidTopoLoop = 0x00050005,
1540 ParasolidTopoFin = 0x00050006,
1541 ParasolidTopoEdge = 0x00050007,
1542 ParasolidTopoVertex = 0x00050008,
1576 virtual void Assign(
Component const & in_that);
1581 bool Equals(
Component const & in_that)
const;
1586 bool operator!=(
Component const & in_that)
const;
1591 bool operator==(
Component const & in_that)
const;
1596 ComponentType GetComponentType()
const;
1601 bool HasComponentType(ComponentType in_mask)
const;
1610 void AddKey(
Key const & in_key);
1614 KeyArray GetKeys()
const;
1627 ComponentArray GetOwners()
const;
1631 ComponentArray GetSubcomponents()
const;
1637 ComponentArray GetAllSubcomponents(ComponentType in_type)
const;
1643 void AddReference(
Component & in_reference);
1647 ComponentArray GetReferrers()
const;
1652 ComponentArray GetReferences()
const;
1658 MetadataArray GetAllMetadata()
const;
1663 Metadata GetMetadata(
char const * in_name)
const;
1679 static KeyPathArray GetKeyPath(
Component const & in_component);
1690 static KeyPathArray GetKeyPath(
size_t in_count,
Component const in_components[]);
1700 static KeyPathArray GetKeyPath(ComponentArray
const & in_components);
1751 ComponentPath & operator+=(ComponentArray
const & in_components);
1766 ComponentPath & Append(ComponentArray
const & in_components);
1801 ComponentPath & SetComponents(ComponentArray
const & in_components);
1811 ComponentArray GetComponents()
const;
1816 KeyPathArray GetKeyPaths()
const;
1822 KeyPathArray GetKeyPaths(
Canvas const & in_canvas,
size_t in_layer = 0)
const;
1851 void Hide(
Canvas const & in_canvas,
size_t in_layer = 0);
1856 void Show(
Canvas const & in_canvas,
size_t in_layer = 0);
1861 void Isolate(
Canvas const & in_canvas,
size_t in_layer = 0);
1863 static void Isolate(ComponentPathArray & in_components_to_be_isolated,
Canvas const & in_canvas,
size_t in_layer = 0);
1871 inline ComponentPath operator+(Component
const & in_lhs, Component
const & in_rhs)
1880 inline ComponentPath operator+(Component
const & in_lhs, ComponentArray
const & in_rhs)
1889 inline ComponentPath operator+(Component
const & in_lhs, ComponentPath
const & in_rhs)
1898 inline ComponentPath operator+(ComponentArray
const & in_lhs, Component
const & in_rhs)
1907 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentArray
const & in_rhs)
1916 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentPath
const & in_rhs)
1925 inline ComponentPath operator+(ComponentPath
const & in_lhs, Component
const & in_rhs)
1934 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentArray
const & in_rhs)
1943 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentPath
const & in_rhs)
1963 channel = GetClassID();
1965 action = Action::None;
1971 :
Event(), action(in_action), path(in_path), options(in_options)
1973 channel = GetClassID();
1981 if (in_event.
GetChannel() == Object::ClassID<ComponentHighlightEvent>())
1984 action = that.action;
1986 options = that.options;
2044 void Activate(
View const & in_view);
2048 void Deactivate(
View const & in_view);
2065 channel = GetClassID();
2071 channel = GetClassID();
2079 if (in_event.
GetChannel() == Object::ClassID<FilterActivationEvent>())
2082 filter = that.filter;
2083 action = that.action;
2153 channel = GetClassID();
2159 channel = GetClassID();
2167 if (in_event.
GetChannel() == Object::ClassID<CaptureActivationEvent>())
2170 capture = that.capture;
2233 Component GetComponentFromKey(
Key const & in_key)
const;
2251 Model GetModel()
const;
2255 FilterArray GetAllFilters()
const;
2259 CaptureArray GetAllCaptures()
const;
2264 FilterArray GetActiveFilters(
View const & in_view)
const;
2270 View ActivateDefaultCapture();
2280 void ResetVisibility(
Canvas & in_canvas,
size_t in_layer = 0);
2323 virtual void Assign(
Metadata const & in_that);
2328 bool Equals(
Metadata const & in_that)
const;
2333 bool operator!=(
Metadata const & in_that)
const;
2338 bool operator==(
Metadata const & in_that)
const;
2343 UTF8 GetName()
const;
2347 void SetName(
char const * in_name);
2391 int GetValue()
const;
2395 void SetValue(
int in_value);
2425 Type
ObjectType()
const {
return Type::UnsignedIntegerMetadata; }
2439 unsigned int GetValue()
const;
2443 void SetValue(
unsigned int in_value);
2487 double GetValue()
const;
2491 void SetValue(
double in_value);
2535 UTF8 GetValue()
const;
2539 void SetValue(
char const * in_value);
2565 TimeMetadata(
char const * in_name,
unsigned int in_value);
2583 unsigned int GetValue()
const;
2587 UTF8 GetValueAsString()
const;
2591 void SetValue(
unsigned int in_value);
2636 bool GetValue()
const;
2640 void SetValue(
bool in_value);
2652 static CanvasArray GetCanvases();
2656 static LayoutArray GetLayouts();
2660 static ViewArray GetViews();
2664 static ModelArray GetModels();
2668 static CADModelArray GetCADModels();
2693 static Layout CreateLayout(
char const * in_name =
"");
2698 static View CreateView(
char const * in_name =
"");
2703 static Model CreateModel(
char const * in_name =
"");
2730 virtual bool OnMouseDown(
MouseState const & in_state);
2735 virtual bool OnMouseUp(
MouseState const & in_state);
2740 virtual bool OnMouseMove(
MouseState const & in_state);
2746 virtual bool OnTouchDown(
TouchState const & in_state);
2751 virtual bool OnTouchUp(
TouchState const & in_state);
2756 virtual bool OnTouchMove(
TouchState const & in_state);
2758 virtual void OnViewAttached();
2759 virtual void OnViewDetached();
2766 bool IsEventRelevant(
WindowPoint const & event_location);
2768 bool operator_active;
2770 Vector start_sphere_point;
2771 float axis_subwindow_width;
2772 float axis_subwindow_height;
2773 TouchID tracked_touch_ID;
2790 { channel = Object::ClassID<SmoothTransitionCompleteEvent>(); }
2805 HPS_UNREFERENCED(in_that_event);
2834 virtual bool OnMouseDown(
MouseState const & in_state);
2839 virtual bool OnMouseUp(
MouseState const & in_state);
2844 virtual bool OnMouseMove(
MouseState const & in_state);
2849 virtual bool OnTouchDown(
TouchState const & in_state);
2854 virtual bool OnTouchUp(
TouchState const & in_state);
2859 virtual bool OnTouchMove(
TouchState const & in_state);
2861 virtual void OnViewAttached();
2862 virtual void OnViewDetached();
2864 virtual void OnModelAttached();
2866 void UpdateHighlightColor();
2871 void SetReferenceSegment(
SegmentKey const & in_segment);
2877 void SetReferenceSegment(SegmentKeyArray
const & in_segments);
2882 SegmentKeyArray ShowReferenceSegment();
2888 bool IsEventRelevant(
WindowPoint const & event_location);
2891 bool operator_active;
2892 TouchID tracked_touch_ID;
2895 Vector start_sphere_point;
2896 SegmentKeyArray reference_segments;
2901 ReferenceKeyArrayArray groups;
2907 float nav_cube_subwindow_width;
2908 float nav_cube_subwindow_height;
2910 int highlighted_group;
2914 class SmoothTransitionCompleteEventHandler :
public EventHandler
2917 SmoothTransitionCompleteEventHandler(
View const & in_view,
bool & in_moving)
2918 : handler_view(in_view), handler_moving(&in_moving) {}
2920 ~SmoothTransitionCompleteEventHandler() { Shutdown(); }
2922 virtual HandleResult Handle(
Event const * in_event);
2926 bool * handler_moving;
2929 SmoothTransitionCompleteEventHandler * handler;
2935 class SceneTreeItem;
2936 typedef std::shared_ptr<SceneTreeItem> SceneTreeItemPtr;
2938 typedef std::shared_ptr<SceneTree> SceneTreePtr;
2950 GenericMask = 0xffff0000,
2952 Segment = 0x00000001,
2953 Include = 0x00000002,
2954 ConditionalExpression = 0x00000003,
2955 StaticModelSegment = 0x00000004,
2956 AttributeFilter = 0x00000005,
2958 Geometry = 0x00010000,
2963 NURBSSurface = 0x00010005,
2966 Polygon = 0x00010008,
2967 Circle = 0x00010009,
2968 CircularWedge = 0x0001000a,
2969 Ellipse = 0x0001000b,
2971 NURBSCurve = 0x0001000d,
2972 CircularArc = 0x0001000e,
2973 EllipticalArc = 0x0001000f,
2975 InfiniteRay = 0x00010011,
2978 Reference = 0x00010014,
2979 DistantLight = 0x00010015,
2982 Attribute = 0x00020000,
2983 Portfolio = 0x00020001,
2984 SegmentStyle = 0x00020002,
2985 NamedStyle = 0x00020003,
2986 MaterialPalette = 0x00020004,
2987 Priority = 0x00020005,
2990 ModellingMatrix = 0x00020008,
2991 UserData = 0x00020009,
2992 TextureMatrix = 0x0002000a,
2993 Culling = 0x0002000b,
2994 CurveAttribute = 0x0002000c,
2995 CylinderAttribute = 0x0002000d,
2996 EdgeAttribute = 0x0002000e,
2997 LightingAttribute = 0x0002000f,
2998 LineAttribute = 0x00020010,
2999 MarkerAttribute = 0x00020011,
3000 SurfaceAttribute = 0x00020012,
3002 SphereAttribute = 0x00020014,
3004 TextAttribute = 0x00020016,
3006 Visibility = 0x00020018,
3007 VisualEffects = 0x00020019,
3009 DrawingAttribute = 0x00020021,
3010 HiddenLineAttribute = 0x00020022,
3015 TransformMask = 0x00020027,
3016 ColorInterpolation = 0x00020028,
3017 CuttingSectionAttribute = 0x00020029,
3020 Debugging = 0x00020030,
3022 SelectionOptions = 0x00020032,
3023 UpdateOptions = 0x00020033,
3036 SegmentGroup = 0x00080100,
3037 GeometryGroup = 0x00080200,
3038 AttributeGroup = 0x00080300,
3039 PortfolioGroup = 0x00080400,
3040 StyleGroup = 0x00080500,
3041 IncludeGroup = 0x00080600,
3042 DefinitionGroup = 0x00180000,
3043 NamedStyleDefinitionGroup = 0x00180700,
3044 TextureDefinitionGroup = 0x00180800,
3045 LinePatternDefinitionGroup = 0x00180900,
3046 GlyphDefinitionGroup = 0x00180a00,
3047 CubeMapDefinitionGroup = 0x00180b00,
3048 ImageDefinitionGroup = 0x00180c00,
3049 MaterialPaletteDefinitionGroup = 0x00180d00,
3050 ShaderDefinitionGroup = 0x00180e00,
3051 CuttingSectionGroup = 0x00080001,
3052 ShellGroup = 0x00080002,
3053 MeshGroup = 0x00080003,
3054 GridGroup = 0x00080004,
3055 NURBSSurfaceGroup = 0x00080005,
3056 CylinderGroup = 0x00080006,
3057 SphereGroup = 0x00080007,
3058 PolygonGroup = 0x00080008,
3059 CircleGroup = 0x00080009,
3060 CircularWedgeGroup = 0x0008000a,
3061 EllipseGroup = 0x0008000b,
3062 LineGroup = 0x0008000c,
3063 NURBSCurveGroup = 0x0008000d,
3064 CircularArcGroup = 0x0008000e,
3065 EllipticalArcGroup = 0x0008000f,
3066 InfiniteLineGroup = 0x00080010,
3067 InfiniteRayGroup = 0x00080011,
3068 MarkerGroup = 0x00080012,
3069 TextGroup = 0x00080013,
3070 ReferenceGroup = 0x00080014,
3071 DistantLightGroup = 0x00080015,
3072 SpotlightGroup = 0x00080016,
3107 virtual void Assign(
SceneTree const & in_that);
3112 bool Equals(
SceneTree const & in_that)
const;
3117 bool operator!=(
SceneTree const & in_that)
const;
3122 bool operator==(
SceneTree const & in_that)
const;
3143 void SetGroupingLimit(
size_t in_limit);
3147 size_t GetGroupingLimit()
const;
3156 void SetRoot(SceneTreeItemPtr
const & in_root);
3160 SceneTreeItemPtr GetRoot()
const;
3165 virtual void Flush();
3259 SceneTreePtr GetTree()
const;
3263 UTF8 GetTitle()
const;
3280 bool HasChildren()
const;
3291 virtual SceneTreeItemPtr AddChild(
Key const & in_key,
SceneTree::ItemType in_type,
char const * in_title =
nullptr) = 0;
3296 virtual void Expand();
3300 virtual void Collapse();
3307 bool IsSelected()
const;
3314 virtual void Select();
3321 virtual void Unselect();
3327 bool IsHighlightable()
const;
3334 bool IsHighlighted()
const;
3350 class ComponentTreeItem;
3351 typedef std::shared_ptr<ComponentTreeItem> ComponentTreeItemPtr;
3352 class ComponentTree;
3353 typedef std::shared_ptr<ComponentTree> ComponentTreePtr;
3369 ExchangeAnnotationViewGroup,
3448 void SetRoot(ComponentTreeItemPtr
const & in_root);
3452 ComponentTreeItemPtr GetRoot()
const;
3457 virtual void Flush();
3530 ComponentTreePtr GetTree()
const;
3534 UTF8 GetTitle()
const;
3546 bool HasChildren()
const;
3565 virtual void Expand();
3569 virtual void Collapse();
3577 bool IsHighlighted()
const;
3612 bool IsHidden()
const;
3617 virtual void OnHide();
3622 virtual void OnShow();
Type ObjectType() const
Definition: sprk.h:437
Event * Clone() const
Definition: sprk.h:675
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:1979
Type ObjectType() const
Definition: sprk.h:246
virtual bool OnTimerTick(TimerTickEvent const &in_event)
Definition: sprk.h:1056
ComponentHighlightEvent()
Definition: sprk.h:1961
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:1082
Type ObjectType() const
Definition: sprk.h:215
Type ObjectType() const
Definition: sprk.h:973
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:1046
Type ObjectType() const
Definition: sprk.h:2030
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5417
Location
Definition: sprk.h:1252
ModifierKeys GetModifierTrigger() const
Definition: sprk.h:1085
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk.h:1051
ItemType
Definition: sprk.h:3362
CaptureActivationEvent()
Definition: sprk.h:2151
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1011
MouseButtons GetButtons() const
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:1021
Type ObjectType() const
Definition: sprk.h:2218
Type ObjectType() const
Definition: sprk.h:1736
ModelDeletedEvent()
Definition: sprk.h:883
SmoothTransitionCompleteEvent(View const &in_view)
Definition: sprk.h:2789
virtual bool OnTouchUp(TouchState const &in_state)
Definition: sprk.h:1036
MouseButtons GetMouseTrigger() const
Definition: sprk.h:1077
virtual Type ObjectType() const
Definition: sprk.h:3092
Event * Clone() const
Definition: sprk.h:719
Type ObjectType() const
Definition: sprk.h:1391
UpdateControl
Definition: hps.h:168
bool HasAll(ModifierKeys const &in_keys) const
Definition: hps.h:40163
virtual void OnModelDetached()
Definition: sprk.h:1070
void SetMouseTrigger(MouseButtons in_buttons)
Definition: sprk.h:1073
ComponentPath & Append(Component const &in_component)
Event * Clone() const
Definition: sprk.h:825
Type ObjectType() const
Definition: sprk.h:112
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:761
virtual void OnViewDetached()
Definition: sprk.h:1062
Type ObjectType() const
Definition: sprk.h:3224
LayoutDeletedEvent()
Definition: sprk.h:689
Event * Clone() const
Definition: sprk.h:869
virtual void OnViewAttached()
Definition: sprk.h:1059
LayoutDetachedEvent()
Definition: sprk.h:644
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:1026
ModifierKeys GetModifierKeys() const
SmoothTransitionCompleteEvent()
Definition: sprk.h:2784
Type ObjectType() const
Definition: sprk.h:504
virtual bool OnMouseUp(MouseState const &in_state)
Definition: sprk.h:1006
FilterActivationEvent()
Definition: sprk.h:2063
virtual void OnModelAttached()
Definition: sprk.h:1066
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:2077
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:853
Type ObjectType() const
Definition: sprk.h:1279
Type ObjectType() const
Definition: sprk.h:1560
Location
Definition: sprk.h:1364
Type ObjectType() const
Definition: sprk.h:1127
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:228
virtual UTF8 GetName() const
Definition: sprk.h:996
Event * Clone() const
Definition: sprk.h:2094
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:2165
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:1031
CanvasDeletedEvent()
Definition: sprk.h:601
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1016
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:223
Event * Clone() const
Definition: sprk.h:2181
ViewDeletedEvent()
Definition: sprk.h:795
intptr_t GetChannel() const
Definition: hps.h:6032
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:2803
virtual UTF8 GetName() const
Definition: sprk.h:2723
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:810
ViewDetachedEvent()
Definition: sprk.h:739
Event * Clone() const
Definition: sprk.h:1996
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:616
ComponentType
Definition: sprk.h:1469
Event * Clone() const
Definition: sprk.h:631
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:659
Type ObjectType() const
Definition: sprk.h:3494
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1001
ItemType
Definition: sprk.h:2947
virtual UTF8 GetName() const
Definition: sprk.h:2828
Event * Clone() const
Definition: sprk.h:913
ModelDetachedEvent()
Definition: sprk.h:838
virtual Type ObjectType() const
Definition: sprk.h:3395
Type ObjectType() const
Definition: sprk.h:934
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:1088
Event * Clone() const
Definition: sprk.h:2794
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:898
Event * Clone() const
Definition: sprk.h:779
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:704
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:1041
Mode
Definition: sprk.h:194
Type ObjectType() const
Definition: sprk.h:2128