32 #ifndef SPIRE_APPSPECIFIC_SCIRUN_SCIRUNINTERFACE_H
33 #define SPIRE_APPSPECIFIC_SCIRUN_SCIRUNINTERFACE_H
38 #include <boost/shared_ptr.hpp>
41 #include <spire/Interface.h>
42 #include <gl-state/GLState.hpp>
57 SRInterface(std::shared_ptr<spire::Context> context,
58 const std::vector<std::string>& shaderDirs,
59 spire::Interface::LogFunction logFP = spire::Interface::LogFunction());
100 void readAsset(
const std::string& filename,
101 std::vector<uint8_t> vbo, std::vector<uint8_t> ibo);
110 void handleGeomObject(boost::shared_ptr<Core::Datatypes::GeometryObject>
object);
129 SRObject(
const std::string&
name,
const spire::M44& objToWorld,
132 mObjectToWorld(objToWorld),
140 enum ObjectTransforms
144 OBJECT_TO_CAMERA_PROJECTION,
158 spire::M44 mObjectToWorld;
159 std::list<SRPass> mPasses;
162 boost::optional<std::string> mColorMap;
168 void generateColormaps();
170 std::shared_ptr<spire::Interface> mSpire;
175 size_t mScreenHeight;
178 GLuint mGrayscaleCMap;
180 std::unique_ptr<SRCamera> mCamera;
181 std::vector<SRObject> mSRObjects;
184 std::string mArrowVBOName;
185 std::string mArrowIBOName;
186 std::string mArrowObjectName;
void setMouseMode(MouseMode mode)
Sets the mouse interaction mode.
Definition: SRInterface.cc:126
MouseButton
Definition: SRInterface.h:68
SRInterface(std::shared_ptr< spire::Context > context, const std::vector< std::string > &shaderDirs, spire::Interface::LogFunction logFP=spire::Interface::LogFunction())
Definition: SRInterface.cc:53
void doFrame()
Performs a frame.
Definition: SRInterface.cc:367
std::list< ObjectTransforms > transforms
Definition: SRInterface.h:154
void handleGeomObject(boost::shared_ptr< Core::Datatypes::GeometryObject > object)
Handles a new geometry object.
Definition: SRInterface.cc:180
MouseMode
Definition: SRInterface.h:76
void inputMouseDown(const glm::ivec2 &pos, MouseButton btn)
Definition: SRInterface.cc:150
void readAsset(const std::string &filename, std::vector< uint8_t > vbo, std::vector< uint8_t > ibo)
void doAutoView()
Performs an autoview.
Definition: SRInterface.cc:168
Definition: SRInterface.h:79
Definition: SRInterface.h:70
Definition: SRInterface.h:71
~SRInterface()
Definition: SRInterface.cc:118
Definition: SRInterface.h:147
void inputMouseWheel(int32_t delta)
Definition: SRInterface.cc:162
const char * name[]
Definition: BoostGraphExampleTests.cc:87
void eventResize(size_t width, size_t height)
Definition: SRInterface.cc:138
void inputMouseUp(const glm::ivec2 &pos, MouseButton btn)
Definition: SRInterface.cc:175
void removeAllGeomObjects()
Remove all SCIRun 5 objects.
Definition: SRInterface.cc:320
Definition: SRInterface.h:72
Definition: SRInterface.h:73
Definition: SRInterface.h:54
void gcInvalidObjects(const std::vector< std::string > &validObjects)
Garbage collect all invalid objects not given in the valid objects vector.
Definition: SRInterface.cc:332
MouseMode getMouseMode()
Retrieves mouse interaction mode.
Definition: SRInterface.cc:132
std::string passName
Definition: SRInterface.h:153
void inputMouseMove(const glm::ivec2 &pos, MouseButton btn)
Definition: SRInterface.cc:156
SRPass(const std::string &name)
Definition: SRInterface.h:149
Definition: SRInterface.h:78
size_t getScreenHeightPixels() const
Definition: SRInterface.h:96
size_t getScreenWidthPixels() const
Screen width retrieval. Dimensions are pixels.
Definition: SRInterface.h:95