18 # pragma warning(disable: 4251) //Not an issue as long as debug and release libraries aren't mixed
21 # define SPRK_API __declspec (dllexport)
23 # define SPRK_API __declspec (dllimport)
28 # if defined(LINUX_SYSTEM) && defined(SPROCKETS)
30 # define SPRK_API __attribute__ ((visibility ("default")))
52 class OperatorControl;
53 class NavigationCubeControl;
54 class AxisTriadControl;
57 class ComponentHighlightEvent;
70 #if !defined(_MSC_VER) || _MSC_VER >= 1900
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;}
218 #if !defined(_MSC_VER) || _MSC_VER >= 1900
235 this->Object::operator=(std::move(in_that));
256 View & operator=(
View const & in_that);
257 void Assign(
View const & in_that);
259 bool Equals(
View const & in_that)
const;
260 bool operator!= (
View const & in_that)
const;
261 bool operator== (
View const & in_that)
const;
264 UTF8 GetName()
const;
322 void AttachModel(
Model const & in_model);
328 Model GetAttachedModel()
const;
331 IncludeKey GetAttachedModelIncludeLink()
const;
343 OperatorPtrArray GetOperators()
const;
347 void SetOperators(OperatorPtrArray & in_operators);
352 void SetOperators(
size_t in_count, OperatorPtr in_operators []);
356 void SetOperator(OperatorPtr
const & in_operator);
360 void SetOperator(
Operator * in_operator);
382 SegmentKey const GetModelOverrideSegmentKey()
const;
394 void SetSimpleShadow(
bool in_state,
float in_percent_offset = 5.0f);
397 bool GetSimpleShadow();
403 void SetSimpleReflection(
bool in_state,
float in_percent_offset = 5.0f);
406 bool GetSimpleReflection();
419 void SmoothTransition(
HPS::CameraKit const & in_camera_kit, HPS::Time in_duration = 0.5);
421 static UTF8 GetHideStyleName();
422 static UTF8 GetShowStyleName();
425 KeyArray
const GetNavigationKeys();
428 LayoutArray GetOwningLayouts();
429 LayoutArray
const GetOwningLayouts()
const;
448 void Assign(
Model const & in_that);
450 bool Equals(
Model const & in_that)
const;
451 bool operator!= (
Model const & in_that)
const;
452 bool operator== (
Model const & in_that)
const;
455 UTF8 GetName()
const;
479 HPS::ViewArray GetOwningViews();
480 HPS::ViewArray
const GetOwningViews()
const;
515 void Assign(
Layout const & in_that);
517 bool Equals(
Layout const & in_that)
const;
518 bool operator!= (
Layout const & in_that)
const;
519 bool operator== (
Layout const & in_that)
const;
522 UTF8 GetName()
const;
525 size_t GetLayerCount()
const;
538 void DetachLayer(
size_t in_layer);
542 void DetachView(
View const & in_view);
546 void BringToFront(
size_t in_layer);
551 void ReassignLayer(
size_t in_layer,
HPS::View in_view);
556 void RepositionLayer(
size_t in_layer,
HPS::Rectangle const & in_position);
559 View GetFrontView()
const;
564 View GetAttachedView(
size_t in_layer = 0)
const;
569 Rectangle GetPosition(
size_t in_layer)
const;
572 IncludeKey GetAttachedViewIncludeLink(
size_t in_layer)
const;
575 SegmentKey GetLayerSegmentKey(
size_t in_layer)
const;
593 CanvasArray GetOwningCanvases();
594 CanvasArray
const GetOwningCanvases()
const;
611 channel = GetClassID();
616 :
Event(), canvas(in_canvas)
618 channel = GetClassID();
626 if (in_event.
GetChannel() == Object::ClassID<CanvasDeletedEvent>())
629 canvas = that.canvas;
654 channel = GetClassID();
659 :
Event(), canvas(in_canvas), layout(in_layout)
661 channel = GetClassID();
669 if (in_event.
GetChannel() == Object::ClassID<LayoutDetachedEvent>())
672 canvas = that.canvas;
673 layout = that.layout;
699 channel = GetClassID();
704 :
Event(), layout(in_layout)
706 channel = GetClassID();
714 if (in_event.
GetChannel() == Object::ClassID<LayoutDeletedEvent>())
717 layout = that.layout;
749 channel = GetClassID();
754 :
Event(), layout(in_layout), action(Action::SpecificLayer), layer(in_layer), view(in_view)
756 channel = GetClassID();
760 ViewDetachedEvent(Layout
const & in_layout, View
const & in_view)
761 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
763 channel = GetClassID();
771 if (in_event.
GetChannel() == Object::ClassID<ViewDetachedEvent>())
774 layout = that.layout;
775 action = that.action;
805 channel = GetClassID();
810 :
Event(), view(in_view)
812 channel = GetClassID();
820 if (in_event.
GetChannel() == Object::ClassID<ViewDeletedEvent>())
848 channel = GetClassID();
853 :
Event(), view(in_view), model(in_model)
855 channel = GetClassID();
863 if (in_event.
GetChannel() == Object::ClassID<ModelDetachedEvent>())
893 channel = GetClassID();
898 :
Event(), model(in_model)
900 channel = GetClassID();
908 if (in_event.
GetChannel() == Object::ClassID<ModelDeletedEvent>())
942 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketPath; }
958 View GetView()
const;
961 Model GetModel()
const;
986 virtual void Assign(
Operator const & in_that);
989 virtual bool Equals(
Operator const & in_that)
const;
992 virtual bool operator!= (
Operator const & in_that)
const;
995 virtual bool operator== (
Operator const & in_that)
const;
1001 View GetAttachedView()
const;
1135 HPS::Type
ObjectType()
const {
return HPS::Type::OperatorControl;};
1146 size_t GetCount(Operator::Priority in_priority);
1154 OperatorControl & Push(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1166 bool Pop(Operator::Priority in_priority = Operator::Priority::Normal);
1172 bool Pop(OperatorPtr & out_operator);
1179 bool Pop(Operator::Priority in_priority, OperatorPtr & out_operator);
1187 OperatorControl & Set(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Normal);
1201 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Normal);
1209 OperatorControl & Set(
size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Normal);
1215 OperatorControl & UnsetTop(Operator::Priority in_priority = Operator::Priority::Normal);
1230 bool ShowTop(OperatorPtr & out_operator)
const;
1236 bool ShowTop(Operator::Priority in_priority, OperatorPtr & out_operator)
const;
1241 bool Show(OperatorPtrArray & out_operators)
const;
1247 bool Show(Operator::Priority in_priority, OperatorPtrArray & out_operators)
const;
1288 HPS::Type
ObjectType()
const {
return HPS::Type::NavigationCubeControl;};
1303 Location GetLocation()
const;
1322 bool GetVisibility()
const;
1331 bool GetTextVisibility()
const;
1365 bool GetInteractivity()
const;
1375 float GetSize()
const;
1423 HPS::Type
ObjectType()
const {
return HPS::Type::AxisTriadControl;};
1438 Location GetLocation()
const;
1457 bool GetVisibility()
const;
1466 bool GetTextVisibility()
const;
1492 bool GetInteractivity()
const;
1502 float GetSize()
const;
1525 GenericMask = 0xfffff000,
1527 ExchangeComponentMask = 0x00001000,
1528 ExchangeModelFile = 0x00001001,
1529 ExchangeProductOccurrence = 0x00001002,
1530 ExchangePartDefinition = 0x00001003,
1532 ExchangeView = 0x00001004,
1533 ExchangeFilter = 0x00001005,
1535 ExchangeRepresentationItemMask = 0x00003000,
1536 ExchangeRIBRepModel = 0x00003001,
1537 ExchangeRICurve = 0x00003002,
1538 ExchangeRIDirection = 0x00003003,
1539 ExchangeRIPlane = 0x00003004,
1540 ExchangeRIPointSet = 0x00003005,
1541 ExchangeRIPolyBRepModel = 0x00003006,
1542 ExchangeRIPolyWire = 0x00003007,
1543 ExchangeRISet = 0x00003008,
1544 ExchangeRICoordinateSystem = 0x00003009,
1546 ExchangeTopologyMask = 0x00005000,
1547 ExchangeTopoBody = 0x00005001,
1548 ExchangeTopoConnex = 0x00005002,
1549 ExchangeTopoShell = 0x00005003,
1550 ExchangeTopoFace = 0x00005004,
1551 ExchangeTopoLoop = 0x00005005,
1552 ExchangeTopoCoEdge = 0x00005006,
1553 ExchangeTopoEdge = 0x00005007,
1554 ExchangeTopoVertex = 0x00005008,
1555 ExchangeTopoSingleWireBody = 0x00005009,
1556 ExchangeTopoWireEdge = 0x0000500a,
1558 ExchangeDrawingMask = 0x00006000,
1559 ExchangeDrawingModel = 0x00006001,
1560 ExchangeDrawingView = 0x00006002,
1561 ExchangeDrawingSheet = 0x00006003,
1562 ExchangeBasicDrawingBlock = 0x00006004,
1563 ExchangeOperatorDrawingBlock = 0x00006005,
1565 ExchangePMIMask = 0x00009000,
1566 ExchangePMI = ExchangePMIMask,
1567 ExchangePMIText = 0x00009100,
1568 ExchangePMIRichText = 0x00009200,
1569 ExchangePMIRoughness = 0x00009300,
1570 ExchangePMIGDT = 0x00009400,
1571 ExchangePMIDatum = 0x00009500,
1572 ExchangePMILineWelding = 0x00009600,
1573 ExchangePMISpotWelding = 0x00009700,
1574 ExchangePMIDimension = 0x00009800,
1575 ExchangePMIBalloon = 0x00009900,
1576 ExchangePMICoordinate = 0x00009a00,
1577 ExchangePMIFastener = 0x00009b00,
1578 ExchangePMILocator = 0x00009c00,
1579 ExchangePMIMeasurementPoint = 0x00009d00,
1582 ParasolidComponentMask = 0x00010000,
1584 ParasolidModelFile = 0x00010001,
1585 ParasolidAssembly = 0x00010002,
1587 ParasolidTopologyMask = 0x00050000,
1588 ParasolidTopoBody = 0x00050001,
1589 ParasolidTopoRegion = 0x00050002,
1590 ParasolidTopoShell = 0x00050003,
1591 ParasolidTopoFace = 0x00050004,
1592 ParasolidTopoLoop = 0x00050005,
1593 ParasolidTopoFin = 0x00050006,
1594 ParasolidTopoEdge = 0x00050007,
1595 ParasolidTopoVertex = 0x00050008,
1598 DWGComponentMask = 0x00100000,
1599 DWGModelFile = 0x00100001,
1600 DWGLayout = 0x00100002,
1601 DWGBlockTable = 0x00100003,
1602 DWGBlockTableRecord = 0x00100004,
1603 DWGEntity = 0x00100005,
1604 DWGLayerTable = 0x00100006,
1605 DWGLayer = 0x00100007,
1639 virtual void Assign(
Component const & in_that);
1644 bool Equals(
Component const & in_that)
const;
1649 bool operator!=(
Component const & in_that)
const;
1654 bool operator==(
Component const & in_that)
const;
1659 ComponentType GetComponentType()
const;
1664 bool HasComponentType(ComponentType in_mask)
const;
1673 void AddKey(
Key const & in_key);
1677 KeyArray GetKeys()
const;
1690 ComponentArray GetOwners()
const;
1694 ComponentArray GetSubcomponents()
const;
1700 ComponentArray GetAllSubcomponents(ComponentType in_type)
const;
1706 void AddReference(
Component & in_reference);
1710 ComponentArray GetReferrers()
const;
1715 ComponentArray GetReferences()
const;
1721 MetadataArray GetAllMetadata()
const;
1726 Metadata GetMetadata(
char const * in_name)
const;
1731 UTF8 GetName()
const;
1754 static KeyPathArray GetKeyPath(
Component const & in_component);
1765 static KeyPathArray GetKeyPath(
size_t in_count,
Component const in_components[]);
1775 static KeyPathArray GetKeyPath(ComponentArray
const & in_components);
1810 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentPath; }
1825 ComponentPath & operator+=(ComponentArray
const & in_components);
1840 ComponentPath & Append(ComponentArray
const & in_components);
1875 ComponentPath & SetComponents(ComponentArray
const & in_components);
1885 ComponentArray GetComponents()
const;
1890 KeyPathArray GetKeyPaths()
const;
1896 KeyPathArray GetKeyPaths(
Canvas const & in_canvas,
size_t in_layer = 0)
const;
1925 void Hide(
Canvas const & in_canvas,
size_t in_layer = 0);
1930 void Show(
Canvas const & in_canvas,
size_t in_layer = 0);
1937 bool IsHidden(
Canvas const & in_canvas,
size_t in_layer = 0);
1942 void Isolate(
Canvas const & in_canvas,
size_t in_layer = 0);
1944 static void Isolate(HPS::ComponentPathArray & in_components_to_be_isolated,
Canvas const & in_canvas,
size_t in_layer = 0);
1952 inline ComponentPath operator+(Component
const & in_lhs, Component
const & in_rhs)
1961 inline ComponentPath operator+(Component
const & in_lhs, ComponentArray
const & in_rhs)
1970 inline ComponentPath operator+(Component
const & in_lhs, ComponentPath
const & in_rhs)
1979 inline ComponentPath operator+(ComponentArray
const & in_lhs, Component
const & in_rhs)
1988 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentArray
const & in_rhs)
1997 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentPath
const & in_rhs)
2006 inline ComponentPath operator+(ComponentPath
const & in_lhs, Component
const & in_rhs)
2015 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentArray
const & in_rhs)
2024 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentPath
const & in_rhs)
2044 channel = GetClassID();
2046 action = Action::None;
2052 :
Event(), action(in_action), path(in_path), options(in_options)
2054 channel = GetClassID();
2062 if (in_event.
GetChannel() == Object::ClassID<ComponentHighlightEvent>())
2065 action = that.action;
2067 options = that.options;
2114 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2126 void Activate(
View const & in_view);
2130 void Deactivate(
View const & in_view);
2147 channel = GetClassID();
2153 channel = GetClassID();
2161 if (in_event.
GetChannel() == Object::ClassID<FilterActivationEvent>())
2164 filter = that.filter;
2165 action = that.action;
2212 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2235 channel = GetClassID();
2241 channel = GetClassID();
2249 if (in_event.
GetChannel() == Object::ClassID<CaptureActivationEvent>())
2252 capture = that.capture;
2302 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2315 Component GetComponentFromKey(
Key const & in_key)
const;
2333 Model GetModel()
const;
2337 FilterArray GetAllFilters()
const;
2341 CaptureArray GetAllCaptures()
const;
2346 FilterArray GetActiveFilters(
View const & in_view)
const;
2352 View ActivateDefaultCapture();
2362 void ResetVisibility(
Canvas & in_canvas,
size_t in_layer = 0);
2405 virtual void Assign(
Metadata const & in_that);
2410 bool Equals(
Metadata const & in_that)
const;
2415 bool operator!=(
Metadata const & in_that)
const;
2420 bool operator==(
Metadata const & in_that)
const;
2429 void SetName(
char const * in_name);
2459 HPS::Type
ObjectType()
const {
return HPS::Type::IntegerMetadata; }
2461 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2473 int GetValue()
const;
2477 void SetValue(
int in_value);
2507 HPS::Type
ObjectType()
const {
return HPS::Type::UnsignedIntegerMetadata; }
2509 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2521 unsigned int GetValue()
const;
2525 void SetValue(
unsigned int in_value);
2555 HPS::Type
ObjectType()
const {
return HPS::Type::DoubleMetadata; }
2557 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2569 double GetValue()
const;
2573 void SetValue(
double in_value);
2603 HPS::Type
ObjectType()
const {
return HPS::Type::StringMetadata; }
2605 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2617 UTF8 GetValue()
const;
2621 void SetValue(
char const * in_value);
2647 TimeMetadata(
char const * in_name,
unsigned int in_value);
2653 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2665 unsigned int GetValue()
const;
2673 void SetValue(
unsigned int in_value);
2704 HPS::Type
ObjectType()
const {
return HPS::Type::BooleanMetadata; }
2706 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2718 bool GetValue()
const;
2722 void SetValue(
bool in_value);
2734 static CanvasArray GetCanvases();
2738 static LayoutArray GetLayouts();
2742 static ViewArray GetViews();
2746 static ModelArray GetModels();
2750 static CADModelArray GetCADModels();
2775 static Layout CreateLayout(
char const * in_name =
"");
2780 static View CreateView(
char const * in_name =
"");
2785 static Model CreateModel(
char const * in_name =
"");
2812 virtual bool OnMouseDown(
MouseState const & in_state);
2817 virtual bool OnMouseUp(
MouseState const & in_state);
2822 virtual bool OnMouseMove(
MouseState const & in_state);
2828 virtual bool OnTouchDown(
TouchState const & in_state);
2833 virtual bool OnTouchUp(
TouchState const & in_state);
2838 virtual bool OnTouchMove(
TouchState const & in_state);
2840 virtual void OnViewAttached();
2841 virtual void OnViewDetached();
2848 bool IsEventRelevant(
HPS::Point const & event_location);
2850 bool operator_active;
2853 float axis_subwindow_width;
2854 float axis_subwindow_height;
2855 HPS::TouchID tracked_touch_ID;
2872 { channel = HPS::Object::ClassID<SmoothTransitionCompleteEvent>(); }
2887 HPS_UNREFERENCED(in_that_event);
2916 virtual bool OnMouseDown(
MouseState const & in_state);
2921 virtual bool OnMouseUp(
MouseState const & in_state);
2926 virtual bool OnMouseMove(
MouseState const & in_state);
2931 virtual bool OnTouchDown(
TouchState const & in_state);
2936 virtual bool OnTouchUp(
TouchState const & in_state);
2941 virtual bool OnTouchMove(
TouchState const & in_state);
2943 virtual void OnViewAttached();
2944 virtual void OnViewDetached();
2946 virtual void OnModelAttached();
2948 void UpdateHighlightColor();
2959 void SetReferenceSegment(HPS::SegmentKeyArray
const & in_segments);
2964 HPS::SegmentKeyArray ShowReferenceSegment();
2970 bool IsEventRelevant(
HPS::Point const & event_location);
2973 bool operator_active;
2974 HPS::TouchID tracked_touch_ID;
2978 HPS::SegmentKeyArray reference_segments;
2983 HPS::ReferenceKeyArrayArray groups;
2987 bool suppress_mouse_over_highlights;
2990 float nav_cube_subwindow_width;
2991 float nav_cube_subwindow_height;
2993 int highlighted_group;
2997 class SmoothTransitionCompleteEventHandler :
public EventHandler
3000 SmoothTransitionCompleteEventHandler(
View const & in_view,
bool & in_moving)
3001 : handler_view(in_view), handler_moving(&in_moving) {}
3003 ~SmoothTransitionCompleteEventHandler() { Shutdown(); }
3005 virtual HandleResult Handle(
HPS::Event const * in_event);
3009 bool * handler_moving;
3012 SmoothTransitionCompleteEventHandler * handler;
3018 class SceneTreeItem;
3019 typedef std::shared_ptr<SceneTreeItem> SceneTreeItemPtr;
3021 typedef std::shared_ptr<SceneTree> SceneTreePtr;
3033 GenericMask = 0xffff0000,
3035 Segment = 0x00000001,
3036 Include = 0x00000002,
3037 ConditionalExpression = 0x00000003,
3038 StaticModelSegment = 0x00000004,
3039 AttributeFilter = 0x00000005,
3041 Geometry = 0x00010000,
3046 NURBSSurface = 0x00010005,
3049 Polygon = 0x00010008,
3050 Circle = 0x00010009,
3051 CircularWedge = 0x0001000a,
3052 Ellipse = 0x0001000b,
3054 NURBSCurve = 0x0001000d,
3055 CircularArc = 0x0001000e,
3056 EllipticalArc = 0x0001000f,
3058 InfiniteRay = 0x00010011,
3061 Reference = 0x00010014,
3062 DistantLight = 0x00010015,
3065 Attribute = 0x00020000,
3066 Portfolio = 0x00020001,
3067 SegmentStyle = 0x00020002,
3068 NamedStyle = 0x00020003,
3069 MaterialPalette = 0x00020004,
3070 Priority = 0x00020005,
3073 ModellingMatrix = 0x00020008,
3074 UserData = 0x00020009,
3075 TextureMatrix = 0x0002000a,
3076 Culling = 0x0002000b,
3077 CurveAttribute = 0x0002000c,
3078 CylinderAttribute = 0x0002000d,
3079 EdgeAttribute = 0x0002000e,
3080 LightingAttribute = 0x0002000f,
3081 LineAttribute = 0x00020010,
3082 MarkerAttribute = 0x00020011,
3083 SurfaceAttribute = 0x00020012,
3085 SphereAttribute = 0x00020014,
3087 TextAttribute = 0x00020016,
3089 Visibility = 0x00020018,
3090 VisualEffects = 0x00020019,
3092 DrawingAttribute = 0x00020021,
3093 HiddenLineAttribute = 0x00020022,
3098 TransformMask = 0x00020027,
3099 ColorInterpolation = 0x00020028,
3100 CuttingSectionAttribute = 0x00020029,
3103 Debugging = 0x00020030,
3105 SelectionOptions = 0x00020032,
3106 UpdateOptions = 0x00020033,
3116 ShaderDefinition = 0x00040008,
3119 SegmentGroup = 0x00080100,
3120 GeometryGroup = 0x00080200,
3121 AttributeGroup = 0x00080300,
3122 PortfolioGroup = 0x00080400,
3123 StyleGroup = 0x00080500,
3124 IncludeGroup = 0x00080600,
3125 DefinitionGroup = 0x00180000,
3126 NamedStyleDefinitionGroup = 0x00180700,
3127 TextureDefinitionGroup = 0x00180800,
3128 LinePatternDefinitionGroup = 0x00180900,
3129 GlyphDefinitionGroup = 0x00180a00,
3130 CubeMapDefinitionGroup = 0x00180b00,
3131 ImageDefinitionGroup = 0x00180c00,
3132 MaterialPaletteDefinitionGroup = 0x00180d00,
3133 ShaderDefinitionGroup = 0x00180e00,
3134 CuttingSectionGroup = 0x00080001,
3135 ShellGroup = 0x00080002,
3136 MeshGroup = 0x00080003,
3137 GridGroup = 0x00080004,
3138 NURBSSurfaceGroup = 0x00080005,
3139 CylinderGroup = 0x00080006,
3140 SphereGroup = 0x00080007,
3141 PolygonGroup = 0x00080008,
3142 CircleGroup = 0x00080009,
3143 CircularWedgeGroup = 0x0008000a,
3144 EllipseGroup = 0x0008000b,
3145 LineGroup = 0x0008000c,
3146 NURBSCurveGroup = 0x0008000d,
3147 CircularArcGroup = 0x0008000e,
3148 EllipticalArcGroup = 0x0008000f,
3149 InfiniteLineGroup = 0x00080010,
3150 InfiniteRayGroup = 0x00080011,
3151 MarkerGroup = 0x00080012,
3152 TextGroup = 0x00080013,
3153 ReferenceGroup = 0x00080014,
3154 DistantLightGroup = 0x00080015,
3155 SpotlightGroup = 0x00080016,
3175 virtual HPS::Type
ObjectType()
const {
return HPS::Type::SceneTree; }
3190 virtual void Assign(
SceneTree const & in_that);
3195 bool Equals(
SceneTree const & in_that)
const;
3200 bool operator!=(
SceneTree const & in_that)
const;
3205 bool operator==(
SceneTree const & in_that)
const;
3226 void SetGroupingLimit(
size_t in_limit);
3230 size_t GetGroupingLimit()
const;
3239 void SetRoot(SceneTreeItemPtr
const & in_root);
3243 SceneTreeItemPtr GetRoot()
const;
3248 virtual void Flush();
3307 HPS::Type
ObjectType()
const {
return HPS::Type::SceneTreeItem; }
3342 SceneTreePtr GetTree()
const;
3346 UTF8 GetTitle()
const;
3363 bool HasChildren()
const;
3374 virtual SceneTreeItemPtr AddChild(
Key const & in_key,
SceneTree::ItemType in_type,
char const * in_title =
nullptr) = 0;
3379 virtual void Expand();
3383 virtual void Collapse();
3390 bool IsSelected()
const;
3397 virtual void Select();
3404 virtual void Unselect();
3410 bool IsHighlightable()
const;
3417 bool IsHighlighted()
const;
3433 class ComponentTreeItem;
3434 typedef std::shared_ptr<ComponentTreeItem> ComponentTreeItemPtr;
3435 class ComponentTree;
3436 typedef std::shared_ptr<ComponentTree> ComponentTreePtr;
3452 ExchangeAnnotationViewGroup,
3481 virtual HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTree; }
3534 void SetRoot(ComponentTreeItemPtr
const & in_root);
3538 ComponentTreeItemPtr GetRoot()
const;
3543 virtual void Flush();
3580 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTreeItem; }
3616 ComponentTreePtr GetTree()
const;
3620 UTF8 GetTitle()
const;
3632 bool HasChildren()
const;
3651 virtual void Expand();
3655 virtual void Collapse();
3663 bool IsHighlighted()
const;
3698 bool IsHidden()
const;
3703 virtual void OnHide();
3708 virtual void OnShow();
3728 bool IsExpanded()
const;
HPS::Type ObjectType() const
Definition: sprk.h:442
Event * Clone() const
Definition: sprk.h:683
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:2060
HPS::Type ObjectType() const
Definition: sprk.h:251
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:1064
ComponentHighlightEvent()
Definition: sprk.h:2042
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:1090
HPS::Type ObjectType() const
Definition: sprk.h:216
HPS::Type ObjectType() const
Definition: sprk.h:981
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:1054
HPS::Type ObjectType() const
Definition: sprk.h:2111
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5558
Location
Definition: sprk.h:1260
ModifierKeys GetModifierTrigger() const
Definition: sprk.h:1093
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk.h:1059
ItemType
Definition: sprk.h:3445
CaptureActivationEvent()
Definition: sprk.h:2233
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1019
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:1029
HPS::Type ObjectType() const
Definition: sprk.h:2300
HPS::Type ObjectType() const
Definition: sprk.h:1810
ModelDeletedEvent()
Definition: sprk.h:891
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:2871
virtual bool OnTouchUp(TouchState const &in_state)
Definition: sprk.h:1044
MouseButtons GetMouseTrigger() const
Definition: sprk.h:1085
virtual HPS::Type ObjectType() const
Definition: sprk.h:3175
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Event * Clone() const
Definition: sprk.h:727
HPS::Type ObjectType() const
Definition: sprk.h:1423
UpdateControl
Definition: hps.h:175
virtual void OnModelDetached()
Definition: sprk.h:1078
void SetMouseTrigger(MouseButtons in_buttons)
Definition: sprk.h:1081
ComponentPath & Append(Component const &in_component)
Event * Clone() const
Definition: sprk.h:833
HPS::Type ObjectType() const
Definition: sprk.h:113
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:769
virtual void OnViewDetached()
Definition: sprk.h:1070
HPS::Type ObjectType() const
Definition: sprk.h:3307
LayoutDeletedEvent()
Definition: sprk.h:697
Event * Clone() const
Definition: sprk.h:877
virtual void OnViewAttached()
Definition: sprk.h:1067
LayoutDetachedEvent()
Definition: sprk.h:652
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:1034
SmoothTransitionCompleteEvent()
Definition: sprk.h:2866
HPS::Type ObjectType() const
Definition: sprk.h:509
virtual bool OnMouseUp(MouseState const &in_state)
Definition: sprk.h:1014
FilterActivationEvent()
Definition: sprk.h:2145
virtual void OnModelAttached()
Definition: sprk.h:1074
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:2159
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:861
HPS::Type ObjectType() const
Definition: sprk.h:1288
HPS::Type ObjectType() const
Definition: sprk.h:1623
Location
Definition: sprk.h:1395
UpdateType
Definition: sprk.h:78
HPS::Type ObjectType() const
Definition: sprk.h:1135
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:233
virtual UTF8 GetName() const
Definition: sprk.h:1004
Event * Clone() const
Definition: sprk.h:2176
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:2247
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:1039
CanvasDeletedEvent()
Definition: sprk.h:609
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1024
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:228
Event * Clone() const
Definition: sprk.h:2263
ViewDeletedEvent()
Definition: sprk.h:803
intptr_t GetChannel() const
Definition: hps.h:6182
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:2885
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2805
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:818
ViewDetachedEvent()
Definition: sprk.h:747
Event * Clone() const
Definition: sprk.h:2077
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:624
ComponentType
Definition: sprk.h:1522
Event * Clone() const
Definition: sprk.h:639
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:667
HPS::Type ObjectType() const
Definition: sprk.h:3580
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1009
ItemType
Definition: sprk.h:3030
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2910
Event * Clone() const
Definition: sprk.h:921
ModelDetachedEvent()
Definition: sprk.h:846
virtual HPS::Type ObjectType() const
Definition: sprk.h:3481
HPS::Type ObjectType() const
Definition: sprk.h:942
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:1096
Event * Clone() const
Definition: sprk.h:2876
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:906
Event * Clone() const
Definition: sprk.h:787
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:712
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:1049
Mode
Definition: sprk.h:195
HPS::Type ObjectType() const
Definition: sprk.h:2210