| 37 | }; |
| 38 | |
| 39 | class Plot : public ChartRenderableBase<detail::plot_impl> { |
| 40 | public: |
| 41 | Plot(const unsigned pNumPoints, const forge::dtype pDataType, |
| 42 | const forge::PlotType pPlotType, const forge::MarkerType pMarkerType, |
| 43 | const forge::ChartType pChartType) { |
| 44 | if (pChartType == FG_CHART_2D) { |
| 45 | mShrdPtr = std::make_shared< detail::plot2d_impl >(pNumPoints, pDataType, |
| 46 | pPlotType, pMarkerType); |
| 47 | } else { |
| 48 | mShrdPtr = std::make_shared< detail::plot_impl >(pNumPoints, pDataType, |
| 49 | pPlotType, pMarkerType); |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | Plot(const fg_plot pOther) |
| 54 | : ChartRenderableBase<detail::plot_impl>( |
| 55 | reinterpret_cast<Plot*>(pOther)->impl()) { |
| 56 | } |
| 57 | |
| 58 | inline void setMarkerSize(const float pMarkerSize) { |
| 59 | mShrdPtr->setMarkerSize(pMarkerSize); |
| 60 | } |
| 61 | |
| 62 | inline unsigned mbo() const { |
| 63 | return mShrdPtr->markers(); |
| 64 | } |
| 65 | |
| 66 | inline size_t mboSize() const { |
| 67 | return mShrdPtr->markersSizes(); |
| 68 | } |
| 69 | }; |
| 70 | |
| 71 | class Surface : public ChartRenderableBase<detail::surface_impl> { |
| 72 | public: |