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(SPRK)
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
78 typedef std::shared_ptr<Operator> OperatorPtr;
80 typedef std::vector<OperatorPtr, Allocator<OperatorPtr> > OperatorPtrArray;
82 typedef std::vector<Canvas, Allocator<Canvas> > CanvasArray;
83 typedef std::vector<Layout, Allocator<Layout> > LayoutArray;
84 typedef std::vector<View, Allocator<View> > ViewArray;
85 typedef std::vector<Model, Allocator<Model> > ModelArray;
87 typedef std::vector<Component, Allocator<Component> > ComponentArray;
88 typedef std::vector<Metadata, Allocator<Metadata> > MetadataArray;
89 typedef std::vector<Filter, Allocator<Filter> > FilterArray;
90 typedef std::vector<Capture, Allocator<Capture> > CaptureArray;
91 typedef std::vector<CADModel, Allocator<CADModel> > CADModelArray;
92 typedef std::vector<ReferenceKeyArray, Allocator<ReferenceKeyArray>> ReferenceKeyArrayArray;
93 typedef std::vector<ComponentPath, Allocator<ComponentPath>> ComponentPathArray;
94 typedef std::vector<HighlightOptionsKit, Allocator<HighlightOptionsKit>> HighlightOptionsKitArray;
113 void Assign(
Canvas const & in_that);
115 bool Equals(
Canvas const & in_that)
const;
116 bool operator!= (
Canvas const & in_that)
const;
117 bool operator== (
Canvas const & in_that)
const;
120 UTF8 GetName()
const;
125 void AttachLayout(
Layout const & in_layout);
130 void AttachViewAsLayout(
View const & in_view);
136 Layout GetAttachedLayout()
const;
139 IncludeKey GetAttachedLayoutIncludeLink()
const;
142 View GetFrontView()
const;
176 void SetFrameRate(
float in_frame_rate=20);
181 float GetFrameRate()
const;
210 HPS::Type
ObjectType()
const {
return HPS::Type::SprocketControl;}
212 #if !defined(_MSC_VER) || _MSC_VER >= 1900
229 this->Object::operator=(std::move(in_that));
250 View & operator=(
View const & in_that);
251 void Assign(
View const & in_that);
253 bool Equals(
View const & in_that)
const;
254 bool operator!= (
View const & in_that)
const;
255 bool operator== (
View const & in_that)
const;
258 UTF8 GetName()
const;
321 void AttachModel(
Model const & in_model);
327 Model GetAttachedModel()
const;
330 IncludeKey GetAttachedModelIncludeLink()
const;
342 OperatorPtrArray GetOperators()
const;
346 void SetOperators(OperatorPtrArray & in_operators);
351 void SetOperators(
size_t in_count, OperatorPtr in_operators []);
355 void SetOperator(OperatorPtr
const & in_operator);
359 void SetOperator(
Operator * in_operator);
381 SegmentKey const GetModelOverrideSegmentKey()
const;
393 void SetSimpleShadow(
bool in_state,
float in_percent_offset = 5.0f);
396 bool GetSimpleShadow();
402 void SetSimpleReflection(
bool in_state,
float in_percent_offset = 5.0f);
405 bool GetSimpleReflection();
429 void SmoothTransition(
HPS::CameraKit const & in_camera_kit, HPS::Time in_duration = 0.5);
431 static UTF8 GetHideStyleName();
432 static UTF8 GetShowStyleName();
435 KeyArray
const GetNavigationKeys();
438 LayoutArray GetOwningLayouts();
439 LayoutArray
const GetOwningLayouts()
const;
458 void Assign(
Model const & in_that);
460 bool Equals(
Model const & in_that)
const;
461 bool operator!= (
Model const & in_that)
const;
462 bool operator== (
Model const & in_that)
const;
465 UTF8 GetName()
const;
489 HPS::ViewArray GetOwningViews();
490 HPS::ViewArray
const GetOwningViews()
const;
537 void Assign(
Layout const & in_that);
539 bool Equals(
Layout const & in_that)
const;
540 bool operator!= (
Layout const & in_that)
const;
541 bool operator== (
Layout const & in_that)
const;
544 UTF8 GetName()
const;
547 size_t GetLayerCount()
const;
560 void DetachLayer(
size_t in_layer);
564 void DetachView(
View const & in_view);
568 void BringToFront(
size_t in_layer);
573 void ReassignLayer(
size_t in_layer,
HPS::View in_view);
578 void RepositionLayer(
size_t in_layer,
HPS::Rectangle const & in_position);
581 View GetFrontView()
const;
586 View GetAttachedView(
size_t in_layer = 0)
const;
591 Rectangle GetPosition(
size_t in_layer)
const;
594 IncludeKey GetAttachedViewIncludeLink(
size_t in_layer)
const;
597 SegmentKey GetLayerSegmentKey(
size_t in_layer)
const;
615 CanvasArray GetOwningCanvases();
616 CanvasArray
const GetOwningCanvases()
const;
645 channel = GetClassID();
650 :
Event(), canvas(in_canvas)
652 channel = GetClassID();
660 if (in_event.
GetChannel() == Object::ClassID<CanvasDeletedEvent>())
663 canvas = that.canvas;
688 channel = GetClassID();
693 :
Event(), canvas(in_canvas), layout(in_layout)
695 channel = GetClassID();
703 if (in_event.
GetChannel() == Object::ClassID<LayoutDetachedEvent>())
706 canvas = that.canvas;
707 layout = that.layout;
733 channel = GetClassID();
738 :
Event(), layout(in_layout)
740 channel = GetClassID();
748 if (in_event.
GetChannel() == Object::ClassID<LayoutDeletedEvent>())
751 layout = that.layout;
783 channel = GetClassID();
788 :
Event(), layout(in_layout), action(Action::SpecificLayer), layer(in_layer), view(in_view)
790 channel = GetClassID();
794 ViewDetachedEvent(Layout
const & in_layout, View
const & in_view)
795 : Event(), layout(in_layout), action(Action::AllLayers), layer(std::numeric_limits<size_t>::max()), view(in_view)
797 channel = GetClassID();
805 if (in_event.
GetChannel() == Object::ClassID<ViewDetachedEvent>())
808 layout = that.layout;
809 action = that.action;
839 channel = GetClassID();
844 :
Event(), view(in_view)
846 channel = GetClassID();
854 if (in_event.
GetChannel() == Object::ClassID<ViewDeletedEvent>())
882 channel = GetClassID();
887 :
Event(), view(in_view), model(in_model)
889 channel = GetClassID();
897 if (in_event.
GetChannel() == Object::ClassID<ModelDetachedEvent>())
927 channel = GetClassID();
932 :
Event(), model(in_model)
934 channel = GetClassID();
942 if (in_event.
GetChannel() == Object::ClassID<ModelDeletedEvent>())
970 channel = GetClassID();
975 :
Event(), view(in_view)
977 channel = GetClassID();
985 if (in_event.
GetChannel() == Object::ClassID<CameraChangedEvent>())
1000 if (view == that_event->view)
1008 return GetClassID();
1044 Canvas GetCanvas()
const;
1047 Layout GetLayout()
const;
1050 View GetView()
const;
1053 Model GetModel()
const;
1078 virtual void Assign(
Operator const & in_that);
1081 virtual bool Equals(
Operator const & in_that)
const;
1084 virtual bool operator!= (
Operator const & in_that)
const;
1087 virtual bool operator== (
Operator const & in_that)
const;
1093 View GetAttachedView()
const;
1232 HPS::Type
ObjectType()
const {
return HPS::Type::OperatorControl;};
1243 size_t GetCount(Operator::Priority in_priority);
1251 OperatorControl & Push(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
1263 bool Pop(Operator::Priority in_priority = Operator::Priority::Default);
1269 bool Pop(OperatorPtr & out_operator);
1276 bool Pop(Operator::Priority in_priority, OperatorPtr & out_operator);
1284 OperatorControl & Set(OperatorPtr
const & in_operator, Operator::Priority in_priority = Operator::Priority::Default);
1298 OperatorControl & Set(OperatorPtrArray & in_operators, Operator::Priority in_priority = Operator::Priority::Default);
1306 OperatorControl & Set(
size_t in_count, OperatorPtr in_operators [], Operator::Priority in_priority = Operator::Priority::Default);
1312 OperatorControl & UnsetTop(Operator::Priority in_priority = Operator::Priority::Default);
1327 bool ShowTop(OperatorPtr & out_operator)
const;
1333 bool ShowTop(Operator::Priority in_priority, OperatorPtr & out_operator)
const;
1338 bool Show(OperatorPtrArray & out_operators)
const;
1344 bool Show(Operator::Priority in_priority, OperatorPtrArray & out_operators)
const;
1385 HPS::Type
ObjectType()
const {
return HPS::Type::NavigationCubeControl;};
1400 Location GetLocation()
const;
1419 bool GetVisibility()
const;
1428 bool GetTextVisibility()
const;
1462 bool GetInteractivity()
const;
1472 float GetSize()
const;
1520 HPS::Type
ObjectType()
const {
return HPS::Type::AxisTriadControl;};
1535 Location GetLocation()
const;
1554 bool GetVisibility()
const;
1563 bool GetTextVisibility()
const;
1589 bool GetInteractivity()
const;
1599 float GetSize()
const;
1622 GenericMask = 0xfffff000,
1624 ExchangeComponentMask = 0x00001000,
1625 ExchangeModelFile = 0x00001001,
1626 ExchangeProductOccurrence = 0x00001002,
1627 ExchangePartDefinition = 0x00001003,
1629 ExchangeView = 0x00001004,
1630 ExchangeFilter = 0x00001005,
1632 ExchangeRepresentationItemMask = 0x00003000,
1633 ExchangeRIBRepModel = 0x00003001,
1634 ExchangeRICurve = 0x00003002,
1635 ExchangeRIDirection = 0x00003003,
1636 ExchangeRIPlane = 0x00003004,
1637 ExchangeRIPointSet = 0x00003005,
1638 ExchangeRIPolyBRepModel = 0x00003006,
1639 ExchangeRIPolyWire = 0x00003007,
1640 ExchangeRISet = 0x00003008,
1641 ExchangeRICoordinateSystem = 0x00003009,
1643 ExchangeTopologyMask = 0x00005000,
1644 ExchangeTopoBody = 0x00005001,
1645 ExchangeTopoConnex = 0x00005002,
1646 ExchangeTopoShell = 0x00005003,
1647 ExchangeTopoFace = 0x00005004,
1648 ExchangeTopoLoop = 0x00005005,
1649 ExchangeTopoCoEdge = 0x00005006,
1650 ExchangeTopoEdge = 0x00005007,
1651 ExchangeTopoVertex = 0x00005008,
1652 ExchangeTopoSingleWireBody = 0x00005009,
1653 ExchangeTopoWireEdge = 0x0000500a,
1655 ExchangeDrawingMask = 0x00006000,
1656 ExchangeDrawingModel = 0x00006001,
1657 ExchangeDrawingView = 0x00006002,
1658 ExchangeDrawingSheet = 0x00006003,
1659 ExchangeBasicDrawingBlock = 0x00006004,
1660 ExchangeOperatorDrawingBlock = 0x00006005,
1662 ExchangePMIMask = 0x00009000,
1663 ExchangePMI = ExchangePMIMask,
1664 ExchangePMIText = 0x00009100,
1665 ExchangePMIRichText = 0x00009200,
1666 ExchangePMIRoughness = 0x00009300,
1667 ExchangePMIGDT = 0x00009400,
1668 ExchangePMIDatum = 0x00009500,
1669 ExchangePMILineWelding = 0x00009600,
1670 ExchangePMISpotWelding = 0x00009700,
1671 ExchangePMIDimension = 0x00009800,
1672 ExchangePMIBalloon = 0x00009900,
1673 ExchangePMICoordinate = 0x00009a00,
1674 ExchangePMIFastener = 0x00009b00,
1675 ExchangePMILocator = 0x00009c00,
1676 ExchangePMIMeasurementPoint = 0x00009d00,
1679 ParasolidComponentMask = 0x00010000,
1681 ParasolidModelFile = 0x00010001,
1682 ParasolidAssembly = 0x00010002,
1684 ParasolidTopologyMask = 0x00050000,
1685 ParasolidTopoBody = 0x00050001,
1686 ParasolidTopoRegion = 0x00050002,
1687 ParasolidTopoShell = 0x00050003,
1688 ParasolidTopoFace = 0x00050004,
1689 ParasolidTopoLoop = 0x00050005,
1690 ParasolidTopoFin = 0x00050006,
1691 ParasolidTopoEdge = 0x00050007,
1692 ParasolidTopoVertex = 0x00050008,
1695 DWGComponentMask = 0x00100000,
1696 DWGModelFile = 0x00100001,
1697 DWGLayout = 0x00100002,
1698 DWGBlockTable = 0x00100003,
1699 DWGBlockTableRecord = 0x00100004,
1700 DWGEntity = 0x00100005,
1701 DWGLayerTable = 0x00100006,
1702 DWGLayer = 0x00100007,
1736 virtual void Assign(
Component const & in_that);
1741 bool Equals(
Component const & in_that)
const;
1746 bool operator!=(
Component const & in_that)
const;
1751 bool operator==(
Component const & in_that)
const;
1756 ComponentType GetComponentType()
const;
1761 bool HasComponentType(ComponentType in_mask)
const;
1770 void AddKey(
Key const & in_key);
1774 KeyArray GetKeys()
const;
1787 ComponentArray GetOwners()
const;
1791 ComponentArray GetSubcomponents()
const;
1797 ComponentArray GetAllSubcomponents(ComponentType in_type)
const;
1803 void AddReference(
Component & in_reference);
1807 ComponentArray GetReferrers()
const;
1812 ComponentArray GetReferences()
const;
1818 MetadataArray GetAllMetadata()
const;
1823 Metadata GetMetadata(
char const * in_name)
const;
1828 UTF8 GetName()
const;
1851 static KeyPathArray GetKeyPath(
Component const & in_component);
1862 static KeyPathArray GetKeyPath(
size_t in_count,
Component const in_components[]);
1872 static KeyPathArray GetKeyPath(ComponentArray
const & in_components);
1907 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentPath; }
1922 ComponentPath & operator+=(ComponentArray
const & in_components);
1937 ComponentPath & Append(ComponentArray
const & in_components);
1972 ComponentPath & SetComponents(ComponentArray
const & in_components);
1982 ComponentArray GetComponents()
const;
1987 KeyPathArray GetKeyPaths()
const;
1993 KeyPathArray GetKeyPaths(
Canvas const & in_canvas,
size_t in_layer = 0)
const;
2022 void Hide(
Canvas const & in_canvas,
size_t in_layer = 0);
2027 void Show(
Canvas const & in_canvas,
size_t in_layer = 0);
2034 bool IsHidden(
Canvas const & in_canvas,
size_t in_layer = 0);
2039 void Isolate(
Canvas const & in_canvas,
size_t in_layer = 0);
2041 static void Isolate(HPS::ComponentPathArray & in_components_to_be_isolated,
Canvas const & in_canvas,
size_t in_layer = 0);
2049 inline ComponentPath operator+(Component
const & in_lhs, Component
const & in_rhs)
2058 inline ComponentPath operator+(Component
const & in_lhs, ComponentArray
const & in_rhs)
2067 inline ComponentPath operator+(Component
const & in_lhs, ComponentPath
const & in_rhs)
2076 inline ComponentPath operator+(ComponentArray
const & in_lhs, Component
const & in_rhs)
2085 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentArray
const & in_rhs)
2094 inline ComponentPath operator+(ComponentArray
const & in_lhs, ComponentPath
const & in_rhs)
2103 inline ComponentPath operator+(ComponentPath
const & in_lhs, Component
const & in_rhs)
2112 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentArray
const & in_rhs)
2121 inline ComponentPath operator+(ComponentPath
const & in_lhs, ComponentPath
const & in_rhs)
2141 channel = GetClassID();
2143 action = Action::None;
2149 :
Event(), action(in_action), path(in_path), options(in_options)
2151 channel = GetClassID();
2159 if (in_event.
GetChannel() == Object::ClassID<ComponentHighlightEvent>())
2162 action = that.action;
2164 options = that.options;
2211 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2223 void Activate(
View const & in_view);
2227 void Deactivate(
View const & in_view);
2244 channel = GetClassID();
2250 channel = GetClassID();
2258 if (in_event.
GetChannel() == Object::ClassID<FilterActivationEvent>())
2261 filter = that.filter;
2262 action = that.action;
2309 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2332 channel = GetClassID();
2338 channel = GetClassID();
2346 if (in_event.
GetChannel() == Object::ClassID<CaptureActivationEvent>())
2349 capture = that.capture;
2399 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2412 Component GetComponentFromKey(
Key const & in_key)
const;
2430 Model GetModel()
const;
2434 FilterArray GetAllFilters()
const;
2438 CaptureArray GetAllCaptures()
const;
2443 FilterArray GetActiveFilters(
View const & in_view)
const;
2449 View ActivateDefaultCapture();
2459 void ResetVisibility(
Canvas & in_canvas,
size_t in_layer = 0);
2502 virtual void Assign(
Metadata const & in_that);
2507 bool Equals(
Metadata const & in_that)
const;
2512 bool operator!=(
Metadata const & in_that)
const;
2517 bool operator==(
Metadata const & in_that)
const;
2526 void SetName(
char const * in_name);
2556 HPS::Type
ObjectType()
const {
return HPS::Type::IntegerMetadata; }
2558 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2570 int GetValue()
const;
2574 void SetValue(
int in_value);
2604 HPS::Type
ObjectType()
const {
return HPS::Type::UnsignedIntegerMetadata; }
2606 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2618 unsigned int GetValue()
const;
2622 void SetValue(
unsigned int in_value);
2652 HPS::Type
ObjectType()
const {
return HPS::Type::DoubleMetadata; }
2654 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2666 double GetValue()
const;
2670 void SetValue(
double in_value);
2700 HPS::Type
ObjectType()
const {
return HPS::Type::StringMetadata; }
2702 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2714 UTF8 GetValue()
const;
2718 void SetValue(
char const * in_value);
2744 TimeMetadata(
char const * in_name,
unsigned int in_value);
2750 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2762 unsigned int GetValue()
const;
2770 void SetValue(
unsigned int in_value);
2801 HPS::Type
ObjectType()
const {
return HPS::Type::BooleanMetadata; }
2803 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2815 bool GetValue()
const;
2819 void SetValue(
bool in_value);
2831 static CanvasArray GetCanvases();
2835 static LayoutArray GetLayouts();
2839 static ViewArray GetViews();
2843 static ModelArray GetModels();
2847 static CADModelArray GetCADModels();
2872 static Layout CreateLayout(
char const * in_name =
"");
2877 static View CreateView(
char const * in_name =
"");
2882 static Model CreateModel(
char const * in_name =
"");
2909 virtual bool OnMouseDown(
MouseState const & in_state);
2914 virtual bool OnMouseUp(
MouseState const & in_state);
2919 virtual bool OnMouseMove(
MouseState const & in_state);
2925 virtual bool OnTouchDown(
TouchState const & in_state);
2930 virtual bool OnTouchUp(
TouchState const & in_state);
2935 virtual bool OnTouchMove(
TouchState const & in_state);
2937 virtual void OnViewAttached();
2938 virtual void OnViewDetached();
2945 bool IsEventRelevant(
HPS::Point const & event_location);
2947 bool operator_active;
2950 float axis_subwindow_width;
2951 float axis_subwindow_height;
2952 HPS::TouchID tracked_touch_ID;
2969 { channel = HPS::Object::ClassID<SmoothTransitionCompleteEvent>(); }
2984 HPS_UNREFERENCED(in_that_event);
3013 virtual bool OnMouseDown(
MouseState const & in_state);
3018 virtual bool OnMouseUp(
MouseState const & in_state);
3023 virtual bool OnMouseMove(
MouseState const & in_state);
3028 virtual bool OnTouchDown(
TouchState const & in_state);
3033 virtual bool OnTouchUp(
TouchState const & in_state);
3038 virtual bool OnTouchMove(
TouchState const & in_state);
3040 virtual void OnViewAttached();
3041 virtual void OnViewDetached();
3043 virtual void OnModelAttached();
3045 void UpdateHighlightColor();
3056 void SetReferenceSegment(HPS::SegmentKeyArray
const & in_segments);
3061 HPS::SegmentKeyArray ShowReferenceSegment();
3067 bool IsEventRelevant(
HPS::Point const & event_location);
3070 bool operator_active;
3071 HPS::TouchID tracked_touch_ID;
3075 HPS::SegmentKeyArray reference_segments;
3080 HPS::ReferenceKeyArrayArray groups;
3084 bool suppress_mouse_over_highlights;
3087 float nav_cube_subwindow_width;
3088 float nav_cube_subwindow_height;
3090 int highlighted_group;
3094 class SmoothTransitionCompleteEventHandler :
public EventHandler
3097 SmoothTransitionCompleteEventHandler(
View const & in_view,
bool & in_moving)
3098 : handler_view(in_view), handler_moving(&in_moving) {}
3100 ~SmoothTransitionCompleteEventHandler() { Shutdown(); }
3102 virtual HandleResult Handle(
HPS::Event const * in_event);
3106 bool * handler_moving;
3109 SmoothTransitionCompleteEventHandler * handler;
3115 class SceneTreeItem;
3116 typedef std::shared_ptr<SceneTreeItem> SceneTreeItemPtr;
3118 typedef std::shared_ptr<SceneTree> SceneTreePtr;
3130 GenericMask = 0xffff0000,
3132 Segment = 0x00000001,
3133 Include = 0x00000002,
3135 StaticModelSegment = 0x00000004,
3136 AttributeFilter = 0x00000005,
3138 Geometry = 0x00010000,
3143 NURBSSurface = 0x00010005,
3145 Sphere = 0x00010007,
3146 Polygon = 0x00010008,
3147 Circle = 0x00010009,
3148 CircularWedge = 0x0001000a,
3149 Ellipse = 0x0001000b,
3151 NURBSCurve = 0x0001000d,
3152 CircularArc = 0x0001000e,
3153 EllipticalArc = 0x0001000f,
3155 InfiniteRay = 0x00010011,
3158 Reference = 0x00010014,
3159 DistantLight = 0x00010015,
3162 Attribute = 0x00020000,
3163 Portfolio = 0x00020001,
3164 SegmentStyle = 0x00020002,
3165 NamedStyle = 0x00020003,
3166 MaterialPalette = 0x00020004,
3167 Priority = 0x00020005,
3170 ModellingMatrix = 0x00020008,
3171 UserData = 0x00020009,
3172 TextureMatrix = 0x0002000a,
3173 Culling = 0x0002000b,
3174 CurveAttribute = 0x0002000c,
3175 CylinderAttribute = 0x0002000d,
3176 EdgeAttribute = 0x0002000e,
3177 LightingAttribute = 0x0002000f,
3178 LineAttribute = 0x00020010,
3179 MarkerAttribute = 0x00020011,
3180 SurfaceAttribute = 0x00020012,
3182 SphereAttribute = 0x00020014,
3184 TextAttribute = 0x00020016,
3186 Visibility = 0x00020018,
3187 VisualEffects = 0x00020019,
3189 DrawingAttribute = 0x00020021,
3190 HiddenLineAttribute = 0x00020022,
3195 TransformMask = 0x00020027,
3196 ColorInterpolation = 0x00020028,
3197 CuttingSectionAttribute = 0x00020029,
3200 Debugging = 0x00020030,
3202 SelectionOptions = 0x00020032,
3203 UpdateOptions = 0x00020033,
3213 ShaderDefinition = 0x00040008,
3216 SegmentGroup = 0x00080100,
3217 GeometryGroup = 0x00080200,
3218 AttributeGroup = 0x00080300,
3219 PortfolioGroup = 0x00080400,
3220 StyleGroup = 0x00080500,
3221 IncludeGroup = 0x00080600,
3222 DefinitionGroup = 0x00180000,
3223 NamedStyleDefinitionGroup = 0x00180700,
3224 TextureDefinitionGroup = 0x00180800,
3225 LinePatternDefinitionGroup = 0x00180900,
3226 GlyphDefinitionGroup = 0x00180a00,
3227 CubeMapDefinitionGroup = 0x00180b00,
3228 ImageDefinitionGroup = 0x00180c00,
3229 MaterialPaletteDefinitionGroup = 0x00180d00,
3230 ShaderDefinitionGroup = 0x00180e00,
3231 CuttingSectionGroup = 0x00080001,
3232 ShellGroup = 0x00080002,
3233 MeshGroup = 0x00080003,
3234 GridGroup = 0x00080004,
3235 NURBSSurfaceGroup = 0x00080005,
3236 CylinderGroup = 0x00080006,
3237 SphereGroup = 0x00080007,
3238 PolygonGroup = 0x00080008,
3239 CircleGroup = 0x00080009,
3240 CircularWedgeGroup = 0x0008000a,
3241 EllipseGroup = 0x0008000b,
3242 LineGroup = 0x0008000c,
3243 NURBSCurveGroup = 0x0008000d,
3244 CircularArcGroup = 0x0008000e,
3245 EllipticalArcGroup = 0x0008000f,
3246 InfiniteLineGroup = 0x00080010,
3247 InfiniteRayGroup = 0x00080011,
3248 MarkerGroup = 0x00080012,
3249 TextGroup = 0x00080013,
3250 ReferenceGroup = 0x00080014,
3251 DistantLightGroup = 0x00080015,
3252 SpotlightGroup = 0x00080016,
3272 virtual HPS::Type
ObjectType()
const {
return HPS::Type::SceneTree; }
3287 virtual void Assign(
SceneTree const & in_that);
3292 bool Equals(
SceneTree const & in_that)
const;
3297 bool operator!=(
SceneTree const & in_that)
const;
3302 bool operator==(
SceneTree const & in_that)
const;
3324 void SetHighlightOptions(HighlightOptionsKitArray
const & in_options);
3349 HighlightOptionsKitArray GetHighlightOptions()
const;
3356 void SetGroupingLimit(
size_t in_limit);
3360 size_t GetGroupingLimit()
const;
3369 void SetRoot(SceneTreeItemPtr
const & in_root);
3373 SceneTreeItemPtr GetRoot()
const;
3378 virtual void Flush();
3437 HPS::Type
ObjectType()
const {
return HPS::Type::SceneTreeItem; }
3472 SceneTreePtr GetTree()
const;
3476 UTF8 GetTitle()
const;
3497 bool HasChildren()
const;
3508 virtual SceneTreeItemPtr AddChild(
Key const & in_key,
SceneTree::ItemType in_type,
char const * in_title =
nullptr) = 0;
3513 virtual void Expand();
3517 virtual void Collapse();
3524 bool IsSelected()
const;
3531 virtual void Select();
3538 virtual void Unselect();
3544 bool IsHighlightable()
const;
3551 bool IsHighlighted()
const;
3557 void Highlight(
size_t in_highlight_options_index = 0);
3571 void Unhighlight(
size_t in_highlight_options_index = 0);
3584 class ComponentTreeItem;
3585 typedef std::shared_ptr<ComponentTreeItem> ComponentTreeItemPtr;
3586 class ComponentTree;
3587 typedef std::shared_ptr<ComponentTree> ComponentTreePtr;
3603 ExchangeAnnotationViewGroup,
3632 virtual HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTree; }
3684 void SetHighlightOptions(HighlightOptionsKitArray
const & in_options);
3711 HighlightOptionsKitArray GetHighlightOptions()
const;
3720 void SetRoot(ComponentTreeItemPtr
const & in_root);
3724 ComponentTreeItemPtr GetRoot()
const;
3729 virtual void Flush();
3766 HPS::Type
ObjectType()
const {
return HPS::Type::ComponentTreeItem; }
3802 ComponentTreePtr GetTree()
const;
3806 UTF8 GetTitle()
const;
3818 bool HasChildren()
const;
3837 virtual void Expand();
3841 virtual void Collapse();
3849 bool IsHighlighted()
const;
3868 void Highlight(
size_t in_highlight_options_index = 0);
3881 void Unhighlight(
size_t in_highlight_options_index = 0);
3900 bool IsHidden()
const;
3905 virtual void OnHide();
3910 virtual void OnShow();
3930 bool IsExpanded()
const;
HPS::Type ObjectType() const
Definition: sprk.h:452
Event * Clone() const
Definition: sprk.h:717
ComponentHighlightEvent(Event const &in_event)
Definition: sprk.h:2157
HPS::Type ObjectType() const
Definition: sprk.h:245
virtual bool OnTimerTick(HPS::TimerTickEvent const &in_event)
Definition: sprk.h:1161
ComponentHighlightEvent()
Definition: sprk.h:2139
void SetModifierTrigger(ModifierKeys in_modifiers)
Definition: sprk.h:1187
CameraChangedEvent(Event const &in_event)
Definition: sprk.h:983
HPS::Type ObjectType() const
Definition: sprk.h:210
HPS::Type ObjectType() const
Definition: sprk.h:1073
virtual bool OnKeyDown(KeyboardState const &in_state)
Definition: sprk.h:1146
HPS::Type ObjectType() const
Definition: sprk.h:2208
An InvalidSpecificationException is thrown when a method is called with non-sensical or contradictory...
Definition: hps.h:5579
Location
Definition: sprk.h:1357
ModifierKeys GetModifierTrigger() const
Definition: sprk.h:1190
virtual bool OnKeyUp(KeyboardState const &in_state)
Definition: sprk.h:1151
ItemType
Definition: sprk.h:3596
virtual intptr_t Freshen() const
Definition: sprk.h:1006
CaptureActivationEvent()
Definition: sprk.h:2330
virtual bool OnMouseMove(MouseState const &in_state)
Definition: sprk.h:1111
virtual bool OnMouseEnter(MouseState const &in_state)
Definition: sprk.h:1121
HPS::Type ObjectType() const
Definition: sprk.h:2397
HPS::Type ObjectType() const
Definition: sprk.h:1907
ModelDeletedEvent()
Definition: sprk.h:925
SmoothTransitionCompleteEvent(HPS::View const &in_view)
Definition: sprk.h:2968
virtual bool OnTouchUp(TouchState const &in_state)
Definition: sprk.h:1136
MouseButtons GetMouseTrigger() const
Definition: sprk.h:1182
virtual HPS::Type ObjectType() const
Definition: sprk.h:3272
bool HasAll(MouseButtons in_mouse_trigger, ModifierKeys in_modifier_trigger) const
Event * Clone() const
Definition: sprk.h:761
HPS::Type ObjectType() const
Definition: sprk.h:1520
virtual void OnModelDetached()
Definition: sprk.h:1175
void SetMouseTrigger(MouseButtons in_buttons)
Definition: sprk.h:1178
ComponentPath & Append(Component const &in_component)
Event * Clone() const
Definition: sprk.h:867
CameraChangedEvent()
Definition: sprk.h:968
HPS::Type ObjectType() const
Definition: sprk.h:107
ViewDetachedEvent(Event const &in_event)
Definition: sprk.h:803
virtual void OnViewDetached()
Definition: sprk.h:1167
HPS::Type ObjectType() const
Definition: sprk.h:3437
LayoutDeletedEvent()
Definition: sprk.h:731
Event * Clone() const
Definition: sprk.h:911
virtual void OnViewAttached()
Definition: sprk.h:1164
LayoutDetachedEvent()
Definition: sprk.h:686
virtual bool OnMouseLeave(MouseState const &in_state)
Definition: sprk.h:1126
SmoothTransitionCompleteEvent()
Definition: sprk.h:2963
HPS::Type ObjectType() const
Definition: sprk.h:531
virtual bool OnMouseUp(MouseState const &in_state)
Definition: sprk.h:1106
FilterActivationEvent()
Definition: sprk.h:2242
virtual void OnModelAttached()
Definition: sprk.h:1171
FilterActivationEvent(Event const &in_event)
Definition: sprk.h:2256
ModelDetachedEvent(Event const &in_event)
Definition: sprk.h:895
HPS::Type ObjectType() const
Definition: sprk.h:1385
HPS::Type ObjectType() const
Definition: sprk.h:1720
Location
Definition: sprk.h:1492
HPS::Type ObjectType() const
Definition: sprk.h:1232
SprocketControl & operator=(SprocketControl &&in_that)
Definition: sprk.h:227
virtual UTF8 GetName() const
Definition: sprk.h:1096
Event * Clone() const
Definition: sprk.h:2273
CaptureActivationEvent(Event const &in_event)
Definition: sprk.h:2344
virtual bool OnTouchDown(TouchState const &in_state)
Definition: sprk.h:1131
CanvasDeletedEvent()
Definition: sprk.h:643
virtual bool OnMouseWheel(MouseState const &in_state)
Definition: sprk.h:1116
SprocketControl(SprocketControl &&in_that)
Definition: sprk.h:222
Event * Clone() const
Definition: sprk.h:2360
UpdateType
Definition: hps.h:182
ViewDeletedEvent()
Definition: sprk.h:837
intptr_t GetChannel() const
Definition: hps.h:6203
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:2982
virtual HPS::UTF8 GetName() const
Definition: sprk.h:2902
virtual bool OnTextInput(HPS::UTF8 const &in_text)
Definition: sprk.h:1156
ViewDeletedEvent(Event const &in_event)
Definition: sprk.h:852
ViewDetachedEvent()
Definition: sprk.h:781
Event * Clone() const
Definition: sprk.h:2174
CanvasDeletedEvent(Event const &in_event)
Definition: sprk.h:658
virtual bool Drop(Event const *in_that_event) const
Definition: sprk.h:996
ComponentType
Definition: sprk.h:1619
Event * Clone() const
Definition: sprk.h:673
LayoutDetachedEvent(Event const &in_event)
Definition: sprk.h:701
HPS::Type ObjectType() const
Definition: sprk.h:3766
virtual bool OnMouseDown(MouseState const &in_state)
Definition: sprk.h:1101
ItemType
Definition: sprk.h:3127
virtual HPS::UTF8 GetName() const
Definition: sprk.h:3007
Event * Clone() const
Definition: sprk.h:955
ModelDetachedEvent()
Definition: sprk.h:880
virtual HPS::Type ObjectType() const
Definition: sprk.h:3632
HPS::Type ObjectType() const
Definition: sprk.h:1034
virtual bool IsMouseTriggered(MouseState const &in_state)
Definition: sprk.h:1193
Event * Clone() const
Definition: sprk.h:2973
ModelDeletedEvent(Event const &in_event)
Definition: sprk.h:940
Event * Clone() const
Definition: sprk.h:821
LayoutDeletedEvent(Event const &in_event)
Definition: sprk.h:746
virtual bool OnTouchMove(TouchState const &in_state)
Definition: sprk.h:1141
Mode
Definition: sprk.h:189
HPS::Type ObjectType() const
Definition: sprk.h:2307
Event * Clone() const
Definition: sprk.h:1013