Class List
Here are the classes, structs, unions and interfaces with brief descriptions:

SurgSim |
Blocks |
CompoundShapeToGraphics | Keep a set of Graphics representations in sync with a CompoundShape, the shape can either be set directly or pulled from a Physics or Collision Representation
DebugDumpBehavior | Provides keyboard access to debugging functionality F1 - call the graphics manager dumpDebugInfo, this will write the current scenegraph to a file in the working directory
DriveElementFromInputBehavior | Behavior to copy a pose from an input component to a SceneElement By adding this behavior to a SceneElement, that SceneElement will be moved in correspondance to the input
FunctionBehavior | A Behavior that can run any callable target in its update function
KeyBehavior | Behavior to abstract the functionality of keyboard driven behaviors, can be programmed to react to a single keystroke
KeyboardCallbackBehavior | This behavior will call the registered callback function when the registered key is pressed
KeyboardTogglesComponentBehavior | This behavior is used to control the activity of registered components
MassSpring1DRepresentation |
MassSpring2DRepresentation |
MassSpring3DRepresentation |
PoseInterpolator | Perform linear interpolation on two poses
SingleKeyBehavior | Behavior to abstract the functionality of keyboard driven behaviors, can be programmed to react to a single keystroke
SphereElement |
TransferParticlesToPointCloudBehavior | Behavior to copy positions of a Particles::Representation to a PointCloud
TransferPhysicsToGraphicsMeshBehavior | Behavior to copy positions of a PhysicsRepresentation to a GraphicsMesh
TransferPhysicsToPointCloudBehavior | Behavior to copy positions of a PhysicsRepresentation to a PointCloud
TransferPhysicsToVerticesBehavior | Transfer Physics State to any representation that has a Vertices property, the "Vertices" property on the targets side needs to accept DataStructures::VerticesPlain for the type
VisualizeConstraints | SceneElement that generates the VisualizeConstraintBehavior and the appropriate graphics Vectorfield
VisualizeConstraintsBehavior | Behavior to visualize information about the constraints as they are in the physics manager this will show the constraint location and the force from the last iteration of the physics manager
VisualizeContactsBehavior | This behavior is used to visualize the contacts on collision representation through vector field
Collision |
BoxCapsuleContact | Class to calculate intersections between Boxes and Capsules
BoxDoubleSidedPlaneContact | Class to calculate intersections between Boxes and Planes
BoxPlaneContact | Class to calculate intersections between Boxes and Planes
BoxSphereContact | Class to calculate intersections between a box and a sphere
CapsuleSphereContact | Class to calculate intersections between a capsule and a sphere
CollisionPair | Collision Pair class, it signifies a pair of items that should be checked with the collision algorithm, this structure will be used for input as well as output, as contacts get appended to the contacts list when found
CompoundShapeContact |
Contact | Contact data structure used when two representations touch each other The convention is that if body 1 is moved along the normal vector by a distance depth (or equivalently if body 2 is moved the same distance in the opposite direction) then the penetration depth will be reduced to zero
ContactCalculation | Base class responsible for calculating contact data between two objects
ContactFilter | Base class to implement a contact filter, the job of this class is to be executed by the ContactFiltering stage in the PhysicsManager
DefaultContactCalculation | A default calculation, it does nothing and can be used as a placeholder
ElementContactFilter | Given a DeformableCollisionRepresentation this filter can remove contacts on specific elements of that representation
OctreeCapsuleContact |
OctreeContact | Abstract base class to calculate intersections between an Octree and other shapes
Vector3dHash | Enable a Vector3d to be used as a key in an unordered map
OctreeDoubleSidedPlaneContact |
OctreePlaneContact |
OctreeSphereContact |
Representation | The type of collision detection
SegmentMeshTriangleMeshContact | Class to calculate intersections between a segment mesh and a triangle mesh
SegmentSegmentCcdIntervalCheck | SegmentSegmentCcdIntervalCheck uses the Interval classes including the LinearMotion and Polynomial families to quickly determine if there is a possible collision between two moving segments over a specified time interval
SegmentSegmentCcdMovingContact | SegmentSegmentCcdMovingContact computes the self collisions among a SegmentMesh under motion at two time points parametrized over the time interval [0,1]
SegmentSegmentCcdStaticContact | SegmentSegmentCcdStaticContact computes if there is contact between two segments at a specific point in time in support of the CCD calculations for moving intervals
SegmentSelfContact | SegmentSelfContact computes the self collisions among a SegmentMesh under motion at two time points parametrized over the time interval [0,1]
ShapeCollisionRepresentation | Use a Shape as a Collision Representation, any SurgSim::Physics::Representation can be used as a backing representation
ShapeShapeContactCalculation | Class that can automate the type conversion and provides a consistent interface to the typed call Takes the shapes to convert as template parameters
SphereDoubleSidedPlaneContact | Class to calculate intersections between Spheres and DoubleSidedPlanes
SpherePlaneContact | Class to calculate intersections between Spheres and Planes
SphereSphereContact | Class to calculate intersections between spheres
TriangleMeshParticlesContact | Class to calculate intersections between a triangle mesh and particles
TriangleMeshPlaneContact | Class to calculate intersections between a triangle mesh and a plane
TriangleMeshSurfaceMeshContact | Class to calculate intersections between a surface mesh and a triangle/surface mesh
TriangleMeshTriangleMeshContact | Class to calculate intersections between a triangle mesh and a triangle mesh
DataStructures |
AabbTree | AabbTree is a tree that is organized by the bounding boxes of the referenced objects, the bounding box used is the Axis Aligned Bounding Box (AABB), with the extents of an AABB describing the min and max of each coordinate for the given object
AabbTreeData | Internal class to hold a list of AABBs and their respective object ids, it can calculate the elements that intersect with a given aabb each node in the AABB tree holds one of these
AabbTreeIntersectionVisitor | Visitor class to collect the items that intersect with a given bounding box
AabbTreeNode | Node class for the AabbTree, this handles groups of items and subdivision if the number of items gets too big
BufferedValue | BufferedValue is a class to enable a representation of two values for one variable, where both values need to be accessible at the same time, one in a thread safe, single threaded context, the other in a thread unsafe context
DataGroup | A collection of NamedData objects
DataGroupBuilder | A class that allows you to build a DataGroup structure
DataGroupCopier | A class that assists in copying from one DataGroup to another, when assignment is not possible
EmptyData | EmptyData class
Grid | N-dimensional grid structure with uniform non-cubic cells This data structure is useful to search for neighbors in a given range (the size of each cell)
CellContent | Data structure for a cell's content (the list of elements and the list of all the neighbors)
NDIdHash | Enable the NDId to be used as a key in an unordered map
Groups | Class to wrap grouping operations, gives access to the members of a group and the groups of members
Image | A templated Image class
ImageBase | Base class for Image-like classes
ImageMap | A class that behaves like an Image but maps an existing array of data
IndexDirectory | A simple bidirectional mapping between names (strings) and distinct consecutive non-negative indices
IndexedLocalCoordinate | A generic (size_t index, Vector coordinate) pair
Location | A Location defines a local position w.r.t
MeshElement | Element structure for meshes
NamedData | A templated dictionary in which data can be accessed by name or index, with immutable names & indices
NamedDataBuilder | A class that allows you to build a NamedData structure
NamedVariantData | A NamedData collection of variant data type
NormalData | Store normal for each triangle in a triangle mesh
OctreeNode | Octree data structure
OctreeNodePlyReaderDelegate | Subclass the OctreeNodePLyReaderDelegateBase class to enable processing of the templated data, this should be specialized to enable specific processing of various extended node types
OctreeNodePlyReaderDelegateBase | Delegate to read Octrees from ply files, this is the abstract base class, to let us modify loading by datatype
BoundsData | Data Structure to receive the bounds information
DimensionData | Data structure to receive the dimension information from the file
SpacingData | Data structure to receive the spacing information from the file
VoxelData | Data structure to receive the specific voxel information from the file
OctreePathHash | Enable the OctreePath to be used as a key in an unordered map, if the int range is exceeded this will just push the least significant numbers (root addresses) out of scope, it loses a little bit of address space as octree ids only go from 0-7
OptionalValue | Container class that can indicate whether the object has been assigned a value
PlyReader | Wrapper for the C .ply file parser This class wraps the main functionality for the original C .ply file parser at http://paulbourke.net/dataformats/ply/ it enables customization of the parsing process either through a delegate class or through executing the requestElement and requestProperty functions
Data |
ElementInfo | Information about the element in the .ply file
PropertyInfo | Information about the property on the .ply file
PlyReaderDelegate | PlyReaderDelegate abstract class
powerOf3 | Templated function to compute a power of 3 at compile time (useful for template parameter)
powerOf3< 0 > |
SegmentEmptyData | SegmentEmptyData class This class is to ensure that the static TriangleMesh::m_className in SegmentMesh does not clash with static TriangleMesh<VertexData, EdgeData, EmptyData>
SegmentMesh | Class to hold the type of a SegmentMesh
TetrahedronMesh | Basic class for storing Tetrahedron Meshes, handling basic vertex, edge, triangle and tetrahedron functionality
Tree | Basic tree structure
TreeData | Abstract base class for data stored in a Tree
TreeNode | Basic tree node structure
TreeVisitor | Abstract Class for visitors, this needs to be extended for other tree nodes when necessary return false from handle() to abort traversal
TriangleMesh | Basic class for storing Triangle Meshes, handling basic vertex, edge, and triangle functionality
TriangleMeshPlyReaderDelegate | Implementation of PlyReaderDelegate for simple triangle meshes
ListData | Internal structure, the received for data from the "face" element
VertexData | Internal structure, the receiver for data from the "vertex" element Provide space for standard ply vertex data, x/y/z and s/t
Vertex | Vertex structure for meshes
Vertex< void > | Specialization of Vertex with no data
Vertices | Base class for mesh structures, handling basic vertex functionality
Devices |
LabJack | A collection of checksum functions specifically tailored for the labjackusb driver
AnalogInputSettings | A struct holding the data to be associated with the positive channel for an analog input
TimerSettings | A struct holding the data to be associated with a Timer
BitSetBuffer | A bit set corresponding to a contiguous memory buffer
BoolToScalar | Maps the on and off state of two boolean values to the increase and decrease of a scalar field, this for example enables the driving on a scalar value through two buttons on a device, no change occurs when both booleans are true at the same time
DeviceFilter | A device filter can be connected between a device and the InputConsumerInterface (e.g., InputComponent) and/or the OutputProducerInterface (e.g., OutputComponent), and can alter the data being passed from/to the device
FileDescriptor | A wrapper for an UNIX-style integer file descriptor
FileHandle | A wrapper for an Windows-style HANDLE file descriptor
FilteredDevice | A DeviceInterface connected in series with one or more DeviceFilters. Useful for serialization
ForceScale | An output device filter that scales forces and/or torques
IdentityPoseDevice | A class implementing the identity pose device, which is a pretend device that doesn't move
InputDeviceHandle | Access to an input/HID device using the Input API in Linux
State |
KeyboardDevice | A class implementing the communication with a keyboard
KeyboardScaffold | A class that implements the behavior of KeyboardDevice objects
DeviceData | Struct to hold a KeyboardDevice object, a KeyboardHandler object, and a mutex for data passing
LabJackDevice | A class implementing the communication with a LabJack data acquisition (DAQ) device
LabJackScaffold | A class that implements the behavior of LabJackDevice objects
DeviceData | The per-device data
Handle |
StateData | The per-scaffold data (in comparison to DeviceData the per-device data)
LabJackThread | A class implementing the thread context for communicating with LabJack devices
LeapDevice | A class implementing the communication with one hand tracked by Leap Motion camera
LeapScaffold | A class that manages Leap devices
DeviceData |
Listener |
StateData |
MouseDevice | A class implementing the communication with a mouse
MouseScaffold | A class that implements the behavior of MouseDevice objects
DeviceData | Struct to hold a MouseDevice object, a OsgMouseHandler, and a mutex for data passing
MultiAxisDevice | A class implementing the communication with a multi-axis controller input device, for example a 3DConnexion SpaceNavigator
NimbleDevice | A class implementing the communication with the Nimble server
NimbleScaffold | A class that manages Nimble devices
StateData |
NovintDevice | A class implementing the communication with a Novint Falcon device
NovintScaffold | A class that manages Novint Falcon devices
Callback |
DeviceData |
Handle |
StateData |
OculusDevice | A class implementing the communication with Oculus Rift DK2
OculusDisplaySettings | A customized osg::DisplaySettings, to be used with Oculus device
OculusScaffold | A class that manages Oculus Rift DK2 devices
DeviceData |
StateData |
OculusView | OculusView is a customization of SurgSim::Graphics::OsgView with projection matrices pulled from the Oculus device
OpenNIDevice | A class implementing the communication with one OpenNI compatible depth camera
OpenNIScaffold | A class that manages OpenNI devices
DeviceData |
StateData |
OsgKeyboardHandler |
OsgMouseHandler |
PhantomDevice | A class implementing the communication with a SensAble/Geomagic PHANTOM device
PhantomScaffold | A class that manages Sensable PHANTOM devices
Callback |
DeviceData |
Handle |
StateData |
PoseIntegrator | A device filter that integrates the pose, turning a relative device into an absolute one
PoseTransform | A device filter that transforms the input pose
RawMultiAxisDevice | A class implementing the communication with a multi-axis controller input device, for example a 3DConnexion SpaceNavigator
RawMultiAxisScaffold | A class that implements the behavior of RawMultiAxisDevice objects
DeviceData |
StateData |
RawMultiAxisThread | A class implementing the thread context for sampling RawMultiAxis devices
RecordPose | An input device filter that record the input pose along with the relative time
ReplayPoseDevice | A class implementing the replay pose device, which is a pretend device that replays a recorded motion from a file
ReplayPoseScaffold |
DeviceData |
SixenseDevice | A class implementing the communication with one Sixense controller, for example one of the two on the Razer Hydra
SixenseScaffold | A class that manages Sixense devices, such as the Razer Hydra
DeviceData |
StateData |
SixenseThread | A class implementing the thread context for sampling Sixense devices
SystemInputDeviceHandle | A wrapper for system-dependent access to an input/HID device
TrackIRDevice | A class implementing the communication with Natural Point TrackIR camera
TrackIRScaffold | A class that manages Natural Point TRACKIR devices
DeviceData |
StateData |
TrackIRThread | A class implementing the thread context for sampling TrackIR devices
WdkHidDeviceHandle | Access to an input/HID device using the HID API from the Windows Driver Kit
State |
Framework |
Accessible | Mixin class for enabling a property system on OSS classes, the instance still needs to initialize properties in the constructor by using either addSetter, addGetter, addAccessors or the macro for each member variable that should be made accessible
Functors | Private struct to keep the map under control
ApplicationData | Enable searching for files in a given list of paths, give access to the current directory and wrap boost::filesystem functionality
AssertionFailure | An exception class thrown by SURGSIM_ASSERT() failures and SURGSIM_FAILURE()
AssertMessage | An internal message class used for assertion failures
Asset | This class is used to facilitate file loading
Barrier | Barrier class, synchronize a set of threads to wait at a common point, all threads will wait at Barrier::wait(val) until the number of threads calling wait is equal to the number given in the constructor
BasicSceneElement | Simple concrete implementation of a scene element that does not have any higher logic
BasicThread | Basic thread implementation, tries to maintain a constant rate, supplies startup an initialization, can be synchronized with other threads at startup after calling doRun() a thread be be set off and doInit() and doStartup() will be called in succession
Behavior | Behaviors perform actions
BehaviorManager | Manager to handle Behaviors
Component | Component is the main interface class to pass information to the system managers each will decide whether to handle a component of a given type or not
ComponentManager | Base Component Manager class
FactoryBase | CRTP Base class to implement Object Factory functionality on a base class, use this rather than writing your own functions to return the factory
FactoryBase1 | CRTP Base class to implement Object Factory functionality on a base class, use this rather than writing your own functions to return the factory
FileOutput | Class to output logging information to a give file
LockedContainer | A simple thread-safe data container that can support multiple writers and readers
Logger | An object that can be used to control logging parameters, such as verbosity and log output destination
LoggerManager | Class to safely handle access to a group of loggers, manipulate the global logging threshold, and fetch logger(s) from a global pool
LogMessage | Specialization, handles flush on destruction
LogMessageBase | LogMessageBase is a base class to be used to customize messages for logging textual information can be put into a log message by using the << operator in general the message class will output all of its information when the destructor is being invoked, formats the incoming message to timestamp it and adds information about the logger
LogOutput | Virtual Base class to define an interface for outputting logging information
NullOutput |
ObjectFactory | An object factory, once a class is registered with the factory it can be used to create instances of registered classes
ObjectFactory1 | An object factory, once a class is registered with the factory it can be used to create instances of registered classes
PoseComponent | The PoseComponent holds a pose
Property | Public struct to pair an accessible with its appropriate property
Representation | Representations are manifestations of a SceneElement
ReuseFactory | Factory for acquiring new or unused existing instances of class T to reduce repeated deallocation and reallocation of objects with short lifespans
Deleter | Custom deleter to keep unused objects for reuse, rather than actually deleting them
Runtime | This class contains all the information about the runtime environment of the simulation, all the running threads, the state, while it is de facto a singleton it should be passed around if needed
SamplingMetricBase | SamplingMetricBase provides a base class to support metric development
Scene | Scene. Basic Container for SceneElements
SceneElement | SceneElement is the basic part of a scene, it is a container of components
SharedInstance | A utility class to manage a shared instance of an object
StreamOutput | Class to output logging information to a stream that can be passed into the constructor of the class
ThreadPool | A thread pool for completing heterogenous tasks
Task | Actual tasks, with typed return type
TaskBase |
Timer | Timer class, measures execution times
TransferPropertiesBehavior | Behavior to copy properties between instances of Accessible
Graphics |
AxesRepresentation | Displays the coordinate axes, as three lines from the origin default size is 1.0, the X/Y/Z axis are indicated by R/G/B respectively
BoneData | Local data structure to store the bones and their references to the transforms
BoxRepresentation | Base graphics box representation class, which defines the basic interface for a box that can be visualized
Camera | Base graphics camera class, which defines the basic interface for all graphics cameras
CapsuleRepresentation | Base graphics capsule representation class, which defines the basic interface for a capsule that can be visualized
CurveRepresentation | This implements a graphical object to draw an interpolated curve, it accepts a series of control points, the number of segments in the curve will depend on the number of control points and the value returned from getSubdivisions()
CylinderRepresentation | Base graphics cylinder representation class, which defines the basic interface for a cylinder that can be visualized
Font | Abstract base class for the Font Asset, fonts are typefaces that can be used to render text on screen they would usually be loaded from disk
GenerateTangentSpaceTriangleIndexFunctor | Triangle index functor which calculates the tangent space basis vectors for the vertices of a geometry from texture coordinates
Group | Base graphics group class, which defines the interface that all graphics groups must implement
Light | Abstract interface for a light, a light needs to be assigned to a group to be active, only the members of this group will be considered to be lit by this light
Manager | Basic graphics manager class which manages graphics components to provide a visualization of the scene to the user
Material | Base class that defines the interface for graphics materials
Mesh |
MeshPlyReaderDelegate | Implementation of PlyReaderDelegate for graphicsmeshes
MeshRepresentation | Graphics representation of a mesh, can be initialized from a Mesh structure
Model |
OctreeRepresentation | Graphic representation of an Octree
OsgAbstractRenderTarget | Osg abstract render target, this hides the type of the actual osg texture and lets us use OsgRenderTarget without the template type
OsgAxesRepresentation | Osg axes representation implementation for the AxesRepresentation interface in graphics
OsgBoxRepresentation | OSG implementation of a graphics box representation
OsgCamera | OSG implementation of a graphics camera
OsgCapsuleRepresentation | OSG implementation of a graphics capsule representation
OsgCurveRepresentation | Implements the CurveRepresentation for OpenSceneGraph, it uses Catmull Rom interpolation, to draw the line as a GL_LINESTRIP
OsgCylinderRepresentation | OSG implementation of a graphics Cylinder representation
OsgFont | Osg specialization of the Font class, supports osgText::Font
OsgGroup | OSG implementation of a graphics group
OsgLight | OpenScenegraph implementation for the Light interface
OsgLog | Enable logging of OSG through SurgSim Logging System To use this, an object of OsgLog class must be created
OsgManager | OSG-based implementation of graphics manager class
OsgMaterial | OSG-based implementation of a graphics material
OsgMeshRepresentation | Implementation of a MeshRepresentation for rendering under osg
OsgModel | Osg implementation of the Model class, inheriting from Asset, this class knows how to load models that can be handled by osg
OsgOctreeRepresentation | OSG octree representation, implements an OctreeRepresenation using OSG
OsgPlane | OSG plane geode to be used as a primitive shape The plane is the XZ plane, with normal +Y
OsgPlaneRepresentation | OSG implementation of a graphics plane representation
OsgPointCloudRepresentation | Osg point cloud representation, implementation of a PointCloudRepresenation using OSG
OsgProgram | OSG-based implementation of a graphics shader
OsgRenderTarget | Specific implementation of the render target class
OsgRepresentation | Base OSG implementation of a graphics representation
OsgSceneryRepresentation | A OsgSceneryRepresentation is used to load osg object/node from file
OsgScreenSpacePass | Special RenderPass to draw items using a orthogonal projection, this is specific to the Osg implementation of the SurgSim rendering
OsgScreenSpaceQuadRepresentation | Implements the ScreenSpaceQuadRepresentation, provides the uniform 'texture' for the texture that it carries
OsgSkeletonRepresentation | Skeleton representation is used to move a mesh based on the movements of pre-selected control points (bones)
OsgSphereRepresentation | OSG implementation of a graphics sphere representation
OsgTextRepresentation | Osg implementation of the TextRepresentation, to be used with OsgFont assets
OsgTexture | Base class for OSG implementations of Graphics Textures
OsgTexture1d | OSG implementation of a 1D Texture
OsgTexture2d | OSG implementation of a 2D Texture
OsgTexture3d | OSG implementation of a 3D Texture
OsgTextureCubeMap | OSG implementation of a Cube Map Texture
OsgTextureRectangle | OSG implementation of a Rectangle Texture
OsgTextureUniform | OSG implementation of graphics uniform with a texture value
OsgTrackballZoomManipulator | Trackball manipulator that uses the mouse wheel to control zoom amount
OsgUniform | OSG implementation of graphics uniform with a value of type T
OsgUniform< std::shared_ptr< OsgTexture1d > > | Specialization of OsgUniform for OsgTexture1d
OsgUniform< std::shared_ptr< OsgTexture2d > > | Specialization of OsgUniform for OsgTexture2d
OsgUniform< std::shared_ptr< OsgTexture3d > > | Specialization of OsgUniform for OsgTexture3d
OsgUniform< std::shared_ptr< OsgTextureCubeMap > > | Specialization of OsgUniform for OsgTextureCubeMap
OsgUniform< std::shared_ptr< OsgTextureRectangle > > | Specialization of OsgUniform for OsgTextureRectangle
OsgUniform< std::vector< T > > | Specialization of OsgUniform for vectors of values
OsgUniformBase | Base OSG implementation of graphics uniforms
OsgUniformFactory | This class can create the appropriate OsgUniform from an OpenGl glsl type, use the appropriate name from glsl in the create() function to recieve the correctly typed uniform
OsgUnitAxes |
OsgUnitBox | OSG unit box geode to be used as a primitive shape The box is located at (0, 0, 0) and has a size of 1 on all three axes
OsgUnitCylinder | OSG unit cylinder geode to be used as a primitive shape The cylinder is located at (0, 0, 0) and has a radius of 1 and height of 1
OsgUnitSphere | OSG unit sphere geode to be used as a primitive shape The sphere is located at (0, 0, 0) and has a radius of 1
OsgVectorFieldRepresentation | OSG vector field representation, implements a VectorFieldRepresenation using OSG
OsgView | OSG-based implementation of graphics view class
OsgViewElement | OSG-based implementation of graphics view element
PaintBehavior | Behavior class to allow a specified scene element to receive painting effects
PlaneRepresentation | Base graphics plane representation class, which defines the basic interface for a plane that can be visualized
PointCloudRepresentation | Graphic representation of a point cloud, hase a very basic interface and is intentionally kept generic
Program | Base class that defines the interface for graphics programs
RenderPass | Encapsulation of all the components necessary needed to implement a full renderpass, this SceneElement contains a Camera and Group, it can also take a Material (for shaders and uniforms) and a RenderTarget for textures that are used as the output for the camera
RenderTarget | RenderTarget is an abstraction of the target buffers that a Camera should use to render it's scene valid targets are a given number of color buffers, and an optional depth buffer
Representation | Base graphics representation class, which defines the interface that all graphics representations must implement
SceneryRepresentation | Base class defining the interface for a Graphics Scenery Object
ScreenSpaceQuadRepresentation | A quad to display on the screen in screen space coordinates, use setPose() to set the position but x,y are presumed to be in screen space with 0|0 being in the lower left corner
SkeletonRepresentation | Skeleton representation is used to move a mesh based on the movements of pre-selected control points (bones)
SphereRepresentation | Base graphics sphere representation class, which defines the basic interface for a sphere that can be visualized
TangentSpaceGenerator | Node visitor which calculates the tangent space basis vectors from the texture coordinates of any geometry it encounters
TextRepresentation | A text to be displayed on the screen in screen space coordinates, use setPose() to set the position but x,y are presumed to be in screen space with 0|0 being in the lower left corner, has a default font but can also received a separate font
Texture | Base class defining the interface for a Graphics Texture
Texture1d | Base class defining the interface for a 1D Graphics Texture
Texture2d | Base class defining the interface for a 2D Graphics Texture
Texture3d | Base class defining the interface for a 3D Graphics Texture
TextureCubeMap | Base class defining the interface for a Cube Map Graphics Texture
TextureRectangle | Base class defining the interface for a Rectangle Graphics Texture
TriangleNormalGenerator | Triangle index functor which calculates normals for the vertices of a geometry, use createNormalGenerator to instantiate this
Uniform | Base class for a graphics uniform with a value of type T
Uniform< std::vector< T > > | Specialization of Uniform for vectors of values
UniformBase | Common base class for all graphics uniforms
VectorFieldData | A (mathematical) vector is represented as (X,Y,Z) associated with an optional color (R,G,B,alpha) information
VectorFieldRepresentation | Graphic representation of a vector field Each point/location, i.e
VertexData |
View | Base graphics view class, which defines the basic interface for all graphics views
ViewElement | Basic SceneElement that wraps a View so that it can be added to the Scene
Input |
CombiningOutputComponent | CombiningOutputComponents is-a OutputComponent that takes one or more OutputComponents and combines their datagroups into a single output datagroup
CommonDevice | A class that implements some common management code on top of the DeviceInterface
DeviceInterface | Interface used to communicate with user-interface hardware devices
InputComponent | InputComponents connect devices to SceneElements, facilitating data transfer from a device to SceneElements and other Components
InputConsumerInterface | Interface for a consumer that monitors device and signal state updates (pose, buttons, etc)
InputManager | Manager to handle InputComponent and OutputComponent, SceneElement can add these to get input from devices, or even write output to devices
OutputComponent | OutputComponents connect SceneElements to devices, facilitating data transfer from a SceneElement to a device
OutputProducerInterface | Interface for a producer that generates device output updates (forces, status LED state, etc)
Math |
TriangleCapsuleContactCalculation |
TriangleCapsuleContactCalculation | Class used to find the intersection between a triangle and a capsule
BoxShape | Box shape: box centered on (0 0 0), aligned with the axis with different sizes along X, Y and Z
CapsuleShape | Capsule shape: centered on (0, 0, 0), aligned along Y, with length and radius
clampOperator | Define a custom template unary functor to execute the clamp operation over an Eigen matrix structure
CompoundShape |
CylinderShape | Cylinder shape: centered on (0 0 0), aligned along Y, defined with length and radius
DoubleSidedPlaneShape | DoubleSidedPlaneShape: The XZ plane (d = 0) with normal pointing along positive Y axis
gaussQuadraturePoint | 1D Gauss-Legendre quadrature
gaussQuadratureTrianglePoint | 2D Gauss-Legendre quadrature on a triangle
Interval | Interval defines the concept of a mathematical interval and provides operations on it including arithmetic operations, construction, and IO
IntervalND | IntervalND defines the concept of a group of mathematical intervals and provides operations on them including arithmetic operations, construction, and IO
IntervalND< T, 3 > | IntervalND<T,3> defines the concept of a group of mathematical intervals specialized to 3 intervals and provides operations on them including arithmetic operations, construction, and IO
KalmanFilter | Implements a linear Kalman filter, a recursive estimator
LinearMotion | LinearMotion is (intentionally) a lot like Interval, but it deals with linear motion where all operands start and end their motion simultaneously
LinearMotionND | LinearMotionND<T, N> defines the concept of a group of linear motions and provides operations on them including arithmetic operations, construction, and I/O
LinearMotionND< T, 3 > | LinearMotionND<T, 3> specializes the LinearMotionND<T, N> class for 3 dimensions
LinearSolveAndInverse | LinearSolveAndInverse aims at performing an efficient linear system resolution and calculating its inverse matrix at the same time
LinearSolveAndInverseDenseMatrix | Derivation for dense matrix type
LinearSolveAndInverseDiagonalMatrix | Derivation for diagonal matrix type
LinearSolveAndInverseSymmetricTriDiagonalBlockMatrix | Derivation for symmetric tri-diagonal block matrix type
LinearSolveAndInverseTriDiagonalBlockMatrix | Derivation for tri-diagonal block matrix type
LinearSparseSolveAndInverse | LinearSparseSolveAndInverse aims at performing an efficient linear system resolution and calculating its inverse matrix at the same time
LinearSparseSolveAndInverseCG | Derivation for sparse CG solver
LinearSparseSolveAndInverseLU | Derivation for sparse LU solver
MeshShape | Mesh shape: shape made of a triangle mesh The triangle mesh needs to be watertight to produce valid volume, center and second moment of volume
MlcpGaussSeidelSolver | A solver for mixed LCP problems using the Gauss-Seidel iterative method
MlcpProblem | A description of an MLCP (mixed linear complementarity problem, or mixed LCP) system to be solved
MlcpSolution | The description of a solution to a mixed linear complementarity problem
MlcpSolver | This class provides a solver interface for mixed linear complementarity problems
OctreeShape | Octree Shape A defined by an octree data structure
OdeEquation | Ode equation of 2nd order of the form \(M(x,v).a = F(x, v)\) with \((x0, v0)\) for initial conditions and a set of boundary conditions
OdeSolver | Base class for all solvers of ode equation of order 2 of the form \(M(x(t), v(t)).a(t) = f(t, x(t), v(t))\)
OdeSolverEulerExplicit | Euler Explicit ode solver solves the following \(2^{nd}\) order ode \(M(x(t), v(t)).a(t) = f(t, x(t), v(t))\)
OdeSolverEulerExplicitModified | Modified Euler Explicit ode solver solves the following \(2^{nd}\) order ode \(M(x(t), v(t)).a(t) = f(t, x(t), v(t))\)
OdeSolverEulerImplicit | Euler implicit (a.k.a backward Euler) ode solver (see OdeSolverEulerImplicit.dox for more details)
OdeSolverLinearEulerExplicit | Linear Version of the Euler Explicit ode solver This solver assumes that the system is linear, ie that Mass, Damping, and Stiffness matrices do not change
OdeSolverLinearEulerExplicitModified | Linear Version of the Modified Euler Explicit ode solver This solver assumes that the system is linear, ie that Mass, Damping, and Stiffness matrices do not change
OdeSolverLinearEulerImplicit | Linear Version of the Euler Implicit ode solver This solver assumes that the system is linear, ie that Mass, Damping, and Stiffness matrices do not change
OdeSolverLinearRungeKutta4 | Linear Version of the Runge Kutta 4 ode solver This solver assumes that the system is linear ie that Mass, Damping, and Stiffness matrices do not change
OdeSolverLinearStatic | Linear version of the static ode solver This solver assumes that the system is linear, ie that Stiffness matrix does not change
OdeSolverRungeKutta4 | Runge Kutta 4 ode solver (See http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods) solves the following \(2^{nd}\) order ode \(M(x(t), v(t)).a(t) = f(t, x(t), v(t))\)
RungeKuttaDerivedState | Internal structure to hold the 4 temporary evaluations
OdeSolverStatic | Static ode solver solves the following \(2^{nd}\) order ode \(M(x(t), v(t)).a(t) = f(t, x(t), v(t))\)
OdeState | The state \(y\) of an ode of 2nd order of the form \(M(x,v).a = F(x, v)\) with boundary conditions
Operation | Helper class to run operation a column/row of a matrix to a chunk of memory where the size is dynamically defined
Operation< DerivedSub, SparseType, Eigen::ColMajor > | Specialization for column major storage
Operation< DerivedSub, SparseType, Eigen::RowMajor > | Specialization for row major storage
ParticlesShape | Particles Shape: A shape consisting of a group of particles of equal radius
PlaneShape | The XZ plane (d = 0) with normal pointing along positive Y axis
Polynomial | Polynomial<T, N> defines the concept of an N degree polynomial with type T coefficients and provides operations on them including arithmetic operations, construction, and IO
Polynomial< T, 0 > | Polynomial<T, 0> specializes the Polynomial class for degree 0 (constant polynomials)
Polynomial< T, 1 > | Polynomial<T, 1> specializes the Polynomial class for degree 1 (linear polynomials)
Polynomial< T, 2 > | Polynomial<T, 2> specializes the Polynomial class for degree 2 (quadratic polynomials)
Polynomial< T, 3 > | Polynomial<T, 3> specializes the Polynomial class for degree 3 (cubic polynomials)
PolynomialRoots | The (algebraic) roots of a Polynomial<N,T>
PolynomialRoots< T, 1 > | PolynomialRoots<T, 1> specializes the PolynomialRoots class for degree 1 (linear polynomials)
PolynomialRoots< T, 2 > | PolynomialRoots<T, 2> specializes the PolynomialRoots class for degree 2 (quadratic polynomials)
PolynomialRootsCommon | The common base class for PolynomialRoots specializations for various N
PolynomialValues | Class to manage polynomial based calculations of interval boundaries
PolynomialValues< T, 0 > | PolynomialValues<T, 0> specializes the PolynomialValues class for degree 0 (constant polynomials)
PolynomialValues< T, 1 > | PolynomialValues<T, 1> specializes the PolynomialValues class for degree 1 (linear polynomials)
PolynomialValues< T, 2 > | PolynomialValues<T, 2> specializes the PolynomialValues class for degree 2 (quadratic polynomials)
PolynomialValues< T, 3 > | PolynomialValues<T, 3> specializes the PolynomialValues class for degree 3 (cubic polynomials)
PosedShape | PosedShape is a transformed shape with a record of the pose used to transform it
PosedShapeMotion | PosedShapeMotion is embedding the motion of a PosedShape, providing a posed shape at 2 different instant
SegmentMeshShape | SegmentMeshShape defines a shape based on a mesh, like MeshShape
SegmentMeshShapePlyReaderDelegate | Implementation of ply reader for segment meshes, enable to read the radius from the ply file
Shape | Generic rigid shape class defining a shape
SphereShape | Sphere shape: sphere centered on (0 0 0), defined with radius
SurfaceMeshShape | SurfaceMeshShape defines a shape based on a mesh, like MeshShape
TriangleHelper | A helper class for a triangle, used for the following two purposes:
Particles |
DefaultPointGenerator | DefaultPointGenerator, methods of this class will always return (0.0, 0.0, 0.0) and output a severe logging message
Emitter | Emitter emits particles into a ParticleSystem
ParticleData |
ParticlesCollisionRepresentation | A Collision Representation that can be attached to a Particle Representation
PointGenerator | PointGenerator is used to generate points inside or on the surface of a given shape
RandomBoxPointGenerator | Class to generate points inside or on the surface of a box
RandomMeshPointGenerator | Class to generate points on the surface of a mesh
RandomPointGenerator | RandomPointGenerator will generate points based on the shape passed
RandomSpherePointGenerator | Class to generate points inside or on the surface of a sphere
Representation | Defines the base class for all Particle System
Sink | Sink removes particles from a ParticleSystem
SphRepresentation | SphRepresentation is a Representation dedicated to Smoothed-Particles Hydrodynamics (SPH)
Physics |
FemElementStructs |
FemElement1DParameter | FemElement1DParameter is a FemElementParameter structure specialized for 1D element
FemElement2DParameter | FemElement2DParameter is a FemElementParameter structure specialized for 2D element
FemElement3DParameter | FemElement3DParameter is a FemElementParameter structure specialized for 3D element
FemElementParameter | FemElementParameter is a structure containing the parameters of an fem element following the Hooke's law of deformation (linear deformation)
RotationVectorData | RotationVectorData is a structure containing the rotational dof per vertex The nature of the rotation depends on the underlying Representation, but right now all OSS's representations use rotation vector for rotational dof
BuildMlcp | Build an mlcp from a list of constraints stored in a PhysicsManagerState
CcdCollision | Computation to determine the contacts between a list of CollisionPairs
CcdCollisionLoop |
Computation | Encapsulates a calculation over a selection of objects, needs to be subclassed to be used
ComputationGroup | Implements a mechanism to group and loop computations, the computations will be called in sequence repeatedly until one of the exit criteria is met
Constraint | Base class for all physics constraints. Contains data specific to the constraint and a pair of implementations
ConstraintComponent | Component class for inserting constraints between physics representations into the scene
ConstraintData | Base class for all CosntraintData Derived classes should be specific to a given constraint
ConstraintImplementation | Base class for all constraint implementations. A ConstraintImplementation defines 1 side of a constraint
ConstraintImplementationFactory | This class manages ConstraintImplementations, and can be used to look up the correct implementation by representation and constraint type
ContactConstraintData | Class for Frictionless contact (only needs a plane equation)
ContactConstraintGeneration | Generate a constraint for every contact that was calculated
ContactFiltering | Computation to determine filter the contacts on collisions pairs
DcdCollision | Computation to determine the contacts between a list of CollisionPairs
DeformableCollisionRepresentation | A collision representation that can be attached to a deformable, when this contains a mesh with the same number of vertices as the deformable has nodes, the mesh vertices will move to match the positions of the nodes in the deformable
DeformableRepresentation | Base class for all deformable representations MassSprings, Finite Element Models,..
Fem | Base class for a data structure for holding FEM mesh data of different dimensions
Fem1D | Fem class data structure implementation for 1-Dimensional FEMs
Fem1DElementBeam | 1D FemElement based on a beam volume discretization with a fixed cross section
Fem1DLocalization | Implementation of Localization for Fem1DRepresentation
Fem1DPlyReaderDelegate |
Fem1DRepresentation | Finite Element Model 1D is a fem built with 1D FemElement
Fem2D | Fem class data structure implementation for 2-Dimensional FEMs
Fem2DElementTriangle | 2D FemElement based on a triangle with a constant thickness
Fem2DLocalization | Implementation of Localization for Fem2DRepresentation
Fem2DPlyReaderDelegate |
Fem2DRepresentation | Finite Element Model 2D is a fem built with 2D FemElement
Fem3D | Fem class data structure implementation for 3-Dimensional FEMs
Fem3DElementCorotationalTetrahedron | Fem Element 3D co-rotational based on a tetrahedron volume discretization
Fem3DElementCube | Class for Fem Element 3D based on a cube volume discretization
Fem3DElementTetrahedron | Class for Fem Element 3D based on a tetrahedron volume discretization
Fem3DLocalization | Implementation of Localization for Fem3DRepresentation
Fem3DPlyReaderDelegate |
Fem3DRepresentation | Finite Element Model 3D is a fem built with 3D FemElement
FemConstraintFixedPoint | Base class for all FemRepresentation fixed point constraint implementation
FemConstraintFixedRotationVector | Base class for all FemRepresentation fixed rotation vector constraint implementation
FemConstraintFrictionalSliding | Base class for all FemRepresentation frictional sliding constraint implementation
FemConstraintFrictionlessContact | Base class for all FemRepresentation frictionless contact constraint implementation
FemConstraintFrictionlessSliding | Base class for all FemRepresentation frictionless sliding constraint implementation
FemElement | Base class for all Fem Element (1D, 2D, 3D) It handles the node ids to which it is connected and requires all derived classes to compute the element mass matrix and the force vector along with the derivatives (the stiffness and damping matrices)
FemLocalization | Implementation of Localization for Fem3DRepresentation
FemPlyReaderDelegate | Common part of implementation of PlyReaderDelegate for FemRepresentations
ElementData | Internal data to receive the fem element
MaterialData | Internal data to receive the "material" data
Vertex6DData | Vertex data containing 6 dofs (3 translational and 3 rotational)
FemRepresentation | Finite Element Model (a.k.a FEM) is a deformable model (a set of nodes connected by FemElement)
FixedConstraintFixedPoint | FixedRepresentation bilateral 3d constraint implementation
FixedConstraintFixedRotationVector | FixedRepresentation fixed rotation vector constraint
FixedConstraintFrictionlessContact | FixedRepresentation frictionless contact implementation
FixedRepresentation | Physics entity without any motion nor compliance against which others physics entities can interact
FreeMotion | Apply the FreeMotion calculation to all physics representations
LinearSpring | Linear spring connecting 2 nodes with a viscous term
Localization | This class localize a point on a representation (representation specific)
Mass |
MassSpringConstraintFixedPoint | MassSpringRepresentation bilateral 3d constraint implementation
MassSpringConstraintFrictionlessContact | MassSpring frictionless contact implementation
MassSpringLocalization | Implementation of Localization for MassSpringRepresentation
MassSpringRepresentation | MassSpring model is a deformable model (a set of masses connected by springs)
MlcpMapping |
MlcpPhysicsProblem | A description of a physical mixed LCP system to be solved
MlcpPhysicsSolution | The description of a solution to a physical MLCP problem
ParticleCollisionResponse | Allows the Particle Representations to respond to collisions
PhysicsManager | PhyicsManager handles the physics and motion calculation, it uses Computations to separate the algorithmic steps into smaller pieces
PhysicsManagerState |
PostUpdate | Post Update is called prior to anything else at the beginning of each time step
PrepareCollisionPairs | Computation to determine the contacts between a list of CollisionPairs
PreUpdate | Pre Update is called after everything else is done in the physics time step
PushResults | Propagates the Mlcp result to the representations
Representation | Defines the base class for all physics objects
RigidCollisionRepresentation | Collision Representation class that wraps a RigidRepresentation, this can be used to strictly tie the Collision Representation to the Rigid, so even if the shape of the rigid changes, the collision representation will use the appropriate shape
RigidConstraintFixedPoint | RigidRepresentation bilateral 3d constraint implementation
RigidConstraintFixedRotationVector | RigidRepresentationBase fixed rotation vector constraint
RigidConstraintFrictionlessContact | RigidRepresentation frictionless contact implementation
RigidLocalization | This class implements the localization on a RigidRepresentationBase, as a local position
RigidRepresentation | Defines the dynamic rigid body representation Note that the rigid representation is velocity-based, therefore its degrees of freedom are the linear and angular velocities: 6 Dof
RigidRepresentationBase | Defines the base class for all rigid motion based representations (fixed, rigid body, rigid body + vtc,...)
RigidState | Describes a state (position and velocity information)
RotationVectorConstraint | Specific class for rotation vector constraints
RotationVectorRigidFem1DConstraintData | Class for rotation vector constraint data between a rigid/fixed representation and Fem1d beam being controlled
SlidingConstraint | Sliding constraint between two physics representations
SlidingConstraintData | Class for Frictionless sliding constraint (stores two planes, the intersection of which, is the sliding direction)
SolveMlcp | Solve the system Mixed Linear Complementarity Problem (Mlcp)
Spring | Base class for all springs It handles the node ids to which it is connected and requires all derived classes to compute the force and its derivatives (the stiffness and damping matrices) A extra method also exist to compute all of them at once for performance purposes
UpdateCcdData |
UpdateCollisionData |
UpdateCollisionRepresentations | Computation that calls the CollisionRepresentations update() function
UpdateDcdData |
VirtualToolCoupler | The VirtualToolCoupler couples a rigid object to an input/output device through a spring and damper
Serialize |
ShapesFactory | A factory implementation for shapes
Testing |
MockInputComponent | A MockInputComponent allows Components to test connections with devices without using an instance of DeviceInterface (and then an InputManager to connect the device with the InputComponent, etc)
MockInputOutput |
MockPhysicsManager | Testing class used to publicly expose PhysicsManager's protected member functions
YAML |
convert< std::shared_ptr< SurgSim::Framework::Asset > > |
convert< std::shared_ptr< SurgSim::Framework::Component > > | Specialization of YAML::convert for std::shared_ptr<Component>, use this for to read in a component written by the convert<SurgSim::Framework::Component> converter, or a reference to a component written by this converter
convert< std::shared_ptr< SurgSim::Framework::Scene > > |
convert< std::shared_ptr< SurgSim::Framework::SceneElement > > |
convert< std::shared_ptr< SurgSim::Math::Shape > > |

convert< std::shared_ptr< T > >

Specialization of YAML::convert for std::shared_ptr, this is used to redirect the serialization of a derived class to the specialization of the serialization for a base class, for example all subclasses of Component can use the Component serialization specialization, currently each redirection has to be implemented separately, the re is probably a way to do this automatically

convert< std::unordered_map< Key, T > > | YAML::convert specialization for std::unordered_map
convert< std::unordered_set< Value > > | YAML::convert specialization for std::unordered_set
convert< std::vector< std::shared_ptr< SurgSim::Framework::SceneElement > > > |
convert< SurgSim::DataStructures::OptionalValue< T > > | YAML::convert specialization for OptionalValue
convert< SurgSim::Framework::Component > | Override of the convert structure for an Component, use this form to write out a full version of the component information, to decode a component use the other converter
convert< SurgSim::Framework::SceneElement > |
convert< SurgSim::Graphics::Representation > | Specialize of YAML::convert<> template Represensation class
convert< SurgSim::Graphics::SphereRepresentation > | Specialize of YAML::convert<> template SphereRepresensation class
convert< SurgSim::Math::IntegrationScheme > |
convert< SurgSim::Math::LinearSolver > |
convert< SurgSim::Physics::RigidState > |
convert< typename Eigen::AngleAxis< Type > > | Specialization of convert for Eigen::AngleAxis
convert< typename Eigen::Matrix< Type, Rows, Cols, MOpt > > | Specialization of convert for fixed size Eigen::Matrix
convert< typename Eigen::Quaternion< Type, QOpt > > | Specialization of convert for Eigen::Quaternion
convert< typename Eigen::Transform< Type, Dim, TMode, TOptions > > | Specialization of convert for Eigen::RigidTransform
GlutAxes | Axes with center at local origin, red axis along the local X-axis, green axis along the local Y-axis, and blue axis along the local Z-axis
GlutCamera | Camera which controls the view of the scene
GlutGroup | Group of objects which provides a transform hierarchy
GlutImage | An Image drawn to the screen
GlutRenderer | Simple static class renderer built on Glut
GlutRenderObject | Abstract definition of an object that can render itself with Glut
GlutSphere | Sphere with center at local origin
GlutSquare | Square with center at local origin
GlutWindow |
ImageGlutWindow |
LabJackToPoseFilter |
MlcpTestData |
MovingSquareForce | A simple listener to calculate collision force against a square area for the example application
SquarePoseVectors | State defined by the pose of the square
MovingSquareGlutWindow | A simple listener to display the simple scene composed of a square and tool for the example application
OtherData |
OtherElem |
PlyElement |
PlyFile |
PlyOtherElems |
PlyOtherProp |
PlyProperty |
SerializationMockComponent | This class is for testing the linker and checking if the definition stays in the executable even if there is not direct reference to it, DO NOT define a member of this class explicitly anywhere
TestListener |