3#include <NDEVR/CameraView.h>
4#include <NDEVR/DesignObjectLookup.h>
The equivelent of std::vector but with a bit more control.
A core class where all Design Objects including models, materials, and geometries are stored.
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
A service which can generate Viewports based on Camera data.
static void AddFactory(ViewportFactory *factory)
Registers a viewport factory for creating camera views.
static CameraView * CreateView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager, QWidget *parent=nullptr)
Creates a CameraView using the first registered factory that supports the given camera.
virtual Buffer< DynamicPointer< Camera > > availableCameraStreams() const
Returns all camera streams that this factory can provide.
static Buffer< ViewportFactory * > s_camera_factories
The list of registered viewport factories.
static bool CanCreateView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager)
Checks whether any registered factory can create a view for the given camera.
virtual CameraView * createView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager, QWidget *parent=nullptr)=0
Creates a CameraView widget for the given camera and model manager.
virtual bool canCreateView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager, bool ignore_active)=0
Checks whether this factory can create a view for the given camera.
static Buffer< DynamicPointer< Camera > > AvailableCameraStreams()
Returns all available camera streams from all registered factories.
virtual void resetToDefaults()
Resets this factory's settings to their default values.
static Buffer< ViewportFactory * > RegisteredFactories()
Returns all registered ViewportFactory instances.
The primary namespace for the NDEVR SDK.