Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678]
 CSurgSim::Framework::AccessibleMixin 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
 CSurgSim::Device::LabJack::AnalogInputSettingsA struct holding the data to be associated with the positive channel for an analog input
 CSurgSim::Framework::ApplicationDataEnable searching for files in a given list of paths, give access to the current directory and wrap boost::filesystem functionality
 CSurgSim::Framework::AssetThis class is used to facilitate file loading
 CSurgSim::Framework::BarrierBarrier 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
 CSurgSim::Framework::BasicThreadBasic 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
 CSurgSim::Device::BitSetBuffer< N >A bit set corresponding to a contiguous memory buffer
 CSurgSim::DataStructures::BufferedValue< T >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
 CSurgSim::DataStructures::BufferedValue< ContactMapType >
 CSurgSim::Device::NovintScaffold::Callback
 CSurgSim::Device::PhantomScaffold::Callback
 CSurgSim::Collision::CollisionPairCollision 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
 CSurgSim::Physics::ComputationEncapsulates a calculation over a selection of objects, needs to be subclassed to be used
 CSurgSim::Physics::ConstraintBase class for all physics constraints. Contains data specific to the constraint and a pair of implementations
 CSurgSim::Physics::ConstraintDataBase class for all CosntraintData Derived classes should be specific to a given constraint
 CSurgSim::Physics::ConstraintImplementationBase class for all constraint implementations. A ConstraintImplementation defines 1 side of a constraint
 CSurgSim::Physics::ConstraintImplementationFactoryThis class manages ConstraintImplementations, and can be used to look up the correct implementation by representation and constraint type
 CSurgSim::Collision::ContactContact 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
 CSurgSim::Collision::ContactCalculationBase class responsible for calculating contact data between two given shapes, calculateContact needs to determine whether the two shapes intersect, and if yes calculate the correct data for this contact, which consists of, the normal to displace the first shape so that the two shapes just barely touch
 CYAML::convert< std::array< T, N > >YAML::convert specialization for std::array
 CYAML::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
 CYAML::convert< std::shared_ptr< SurgSim::Framework::Scene > >
 CYAML::convert< std::shared_ptr< SurgSim::Framework::SceneElement > >
 CYAML::convert< std::shared_ptr< SurgSim::Math::Shape > >
 CYAML::convert< std::shared_ptr< T > >Specializatio 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, there is probably a way to do this automatically
 CYAML::convert< std::unordered_map< Key, T > >YAML::convert specialization for std::unordered_map
 CYAML::convert< std::unordered_set< Value > >YAML::convert specialization for std::unordered_set
 CYAML::convert< SurgSim::DataStructures::OptionalValue< T > >YAML::convert specialization for OptionalValue
 CYAML::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
 CYAML::convert< SurgSim::Framework::SceneElement >
 CYAML::convert< SurgSim::Graphics::Representation >Specialize of YAML::convert<> template Represensation class
 CYAML::convert< SurgSim::Graphics::SphereRepresentation >Specialize of YAML::convert<> template SphereRepresensation class
 CYAML::convert< SurgSim::Math::IntegrationScheme >
 CYAML::convert< SurgSim::Physics::RigidRepresentationState >
 CYAML::convert< typename Eigen::Matrix< Type, Rows, 1, MOpt > >Specialization for Eigen Row Vectors, which are the type that Vector2x, Vector3x use
 CYAML::convert< typename Eigen::Matrix< Type, Rows, Cols, MOpt > >Specialization of convert for fixed size Eigen::Matrix
 CYAML::convert< typename Eigen::Quaternion< Type, QOpt > >Specialization of convert for Eigen::Quaternion
 CYAML::convert< typename Eigen::Transform< Type, Dim, TMode, TOptions > >Specialization of convert for Eigen::RigidTransform
 CSurgSim::DataStructures::PlyReader::Data
 CSurgSim::DataStructures::DataGroupA collection of NamedData objects
 CSurgSim::DataStructures::DataGroupBuilderA class that allows you to build a DataGroup structure
 CSurgSim::DataStructures::DataGroupCopierA class that assists in copying from one DataGroup to another, when assignment is not possible
 CSurgSim::Framework::ReuseFactory< T >::DeleterCustom deleter to keep unused objects for reuse, rather than actually deleting them
 CSurgSim::Device::NovintScaffold::DeviceData
 CSurgSim::Device::PhantomScaffold::DeviceData
 CSurgSim::Device::SixenseScaffold::DeviceData
 CSurgSim::Device::TrackIRScaffold::DeviceData
 CSurgSim::Device::KeyboardScaffold::DeviceDataStruct to hold a KeyboardDevice object, a KeyboardHandler object, and a mutex for data passing
 CSurgSim::Device::LabJackScaffold::DeviceDataThe per-device data
 CSurgSim::Device::MouseScaffold::DeviceDataStruct to hold a MouseDevice object, a OsgMouseHandler, and a mutex for data passing
 CSurgSim::Device::RawMultiAxisScaffold::DeviceData
 CSurgSim::Input::DeviceInterfaceInterface used to communicate with user-interface hardware devices
 CSurgSim::Physics::FemPlyReaderDelegate::ElementDataInternal data to receive the fem element
 CSurgSim::DataStructures::PlyReader::ElementInfoInformation about the element in the .ply file
 CSurgSim::DataStructures::EmptyDataEmptyData class
 Cenable_shared_from_this
 Cstd::exceptionSTL class
 CSurgSim::DataStructures::TriangleMeshPlyReaderDelegate< M >::FaceDataInternal structure, the received for data from the "face" element
 CSurgSim::Physics::FemElementBase 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)
 CSurgSim::Physics::FemRepresentationParametersDefines the physical parameters for all Finite Element Model (1D, 2D, 3D)
 CSurgSim::Device::FileDescriptorA wrapper for an UNIX-style integer file descriptor
 CSurgSim::Device::FileHandleA wrapper for an Windows-style HANDLE file descriptor
 CSurgSim::Framework::Accessible::FunctorsPrivate struct to keep the map under control
 CSurgSim::Math::gaussQuadraturePoint
 CGlutCameraCamera which controls the view of the scene
 CGlutRendererSimple static class renderer built on Glut
 CGlutRenderObjectAbstract definition of an object that can render itself with Glut
 CSurgSim::Graphics::GroupBase graphics group class, which defines the interface that all graphics groups must implement
 CGUIEventHandler
 CSurgSim::Device::NovintScaffold::Handle
 CSurgSim::Device::PhantomScaffold::Handle
 CSurgSim::Device::LabJackScaffold::Handle
 CSurgSim::DataStructures::Image< T >A templated Image class
 CSurgSim::DataStructures::IndexDirectoryA simple bidirectional mapping between names (strings) and distinct consecutive non-negative indices
 CSurgSim::DataStructures::IndexedLocalCoordinateA generic (size_t index, Vector coordinate) pair
 CSurgSim::Input::InputConsumerInterfaceInterface for a consumer that monitors device and signal state updates (pose, buttons, etc)
 CSurgSim::Device::KeyboardScaffoldA class that implements the behavior of KeyboardDevice objects
 CSurgSim::Device::LabJackScaffoldA class that implements the behavior of LabJackDevice objects
 CSurgSim::Math::LinearSolveAndInverseLinearSolveAndInverse aims at performing an efficient linear system resolution and calculating its inverse matrix at the same time
 CSurgSim::Physics::LocalizationThis class localize a point on a representation (representation specific)
 CSurgSim::DataStructures::Location
 CSurgSim::Framework::LockedContainer< T >A simple thread-safe data container that can support multiple writers and readers
 CSurgSim::Framework::LockedContainer< MovingSquareForce::SquarePoseVectors >
 CSurgSim::Framework::LockedContainer< SurgSim::DataStructures::DataGroup >
 CSurgSim::Framework::LockedContainer< SurgSim::Physics::SurgSim::Physics::PhysicsManagerState >
 CSurgSim::Framework::LoggerAn object that can be used to control logging parameters, such as verbosity and log output destination
 CSurgSim::Framework::LoggerManagerClass to safely handle access to a group of loggers, manipulate the global logging threshold, and fetch logger(s) from a global pool
 CSurgSim::Framework::LogMessageBaseLogMessageBase 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
 CSurgSim::Framework::LogOutputVirtual Base class to define an interface for outputting logging information
 CSurgSim::Physics::Mass
 CSurgSim::Physics::FemPlyReaderDelegate::MaterialDataInternal data to receive the "material" data
 CSurgSim::DataStructures::MeshElement< N, Data >Element structure for meshes
 CSurgSim::Physics::MlcpMapping< T >
 CSurgSim::Physics::MlcpMapping< SurgSim::Physics::Constraint >
 CSurgSim::Physics::MlcpMapping< SurgSim::Physics::Representation >
 CSurgSim::Math::MlcpProblemA description of an MLCP (mixed linear complementarity problem, or mixed LCP) system to be solved
 CSurgSim::Math::MlcpSolutionThe description of a solution to a mixed linear complementarity problem
 CSurgSim::Math::MlcpSolverThis class provides a solver interface for mixed linear complementarity problems
 CMlcpTestData
 CSurgSim::Device::MouseScaffoldA class that implements the behavior of MouseDevice objects
 CSurgSim::DataStructures::NamedData< T >A templated dictionary in which data can be accessed by name or index, with immutable names & indices
 CSurgSim::DataStructures::NamedData< BooleanType >
 CSurgSim::DataStructures::NamedData< boost::any >
 CSurgSim::DataStructures::NamedData< DynamicMatrixType >
 CSurgSim::DataStructures::NamedData< int >
 CSurgSim::DataStructures::NamedData< IntegerType >
 CSurgSim::DataStructures::NamedData< PoseType >
 CSurgSim::DataStructures::NamedData< ScalarType >
 CSurgSim::DataStructures::NamedData< StringType >
 CSurgSim::DataStructures::NamedData< VectorType >
 CSurgSim::DataStructures::NamedDataBuilder< T >A class that allows you to build a NamedData structure
 CSurgSim::DataStructures::NamedDataBuilder< BooleanType >
 CSurgSim::DataStructures::NamedDataBuilder< boost::any >
 CSurgSim::DataStructures::NamedDataBuilder< DynamicMatrixType >
 CSurgSim::DataStructures::NamedDataBuilder< IntegerType >
 CSurgSim::DataStructures::NamedDataBuilder< PoseType >
 CSurgSim::DataStructures::NamedDataBuilder< ScalarType >
 CSurgSim::DataStructures::NamedDataBuilder< StringType >
 CSurgSim::DataStructures::NamedDataBuilder< VectorType >
 CSurgSim::DataStructures::NormalDataStore normal for each triangle in a triangle mesh
 CNotifyHandler
 CSurgSim::Device::NovintScaffoldA class that manages Novint Falcon devices
 CSurgSim::Framework::ObjectFactory< Base >An object factory, once a class is registered with the factory it can be used to create instances of registered classes
 CSurgSim::Framework::ObjectFactory1< Base, Parameter1 >An object factory, once a class is registered with the factory it can be used to create instances of registered classes
 CSurgSim::Framework::ObjectFactory1< UniformBase, std::string >
 CSurgSim::DataStructures::OctreePathHashEnable 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
 CSurgSim::Math::OdeEquationOde 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
 CSurgSim::Math::OdeSolverBase 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))
 CSurgSim::Math::OdeStateOdeState defines the state y of an ode of 2nd order of the form M(x,v).a = F(x, v) with boundary conditions
 CSurgSim::DataStructures::OptionalValue< T >Container class that can indicate whether the object has been assigned a value
 CSurgSim::DataStructures::OptionalValue< double >
 CSurgSim::DataStructures::OptionalValue< int >
 CSurgSim::DataStructures::OptionalValue< SurgSim::DataStructures::DataGroup >
 CSurgSim::DataStructures::OptionalValue< SurgSim::DataStructures::OctreePath >
 CSurgSim::DataStructures::OptionalValue< SurgSim::DataStructures::SurgSim::DataStructures::IndexedLocalCoordinate >
 CSurgSim::DataStructures::OptionalValue< SurgSim::Math::RigidTransform3d >
 CSurgSim::DataStructures::OptionalValue< SurgSim::Math::Vector2d >
 CSurgSim::DataStructures::OptionalValue< SurgSim::Math::Vector3d >
 CSurgSim::DataStructures::OptionalValue< SurgSim::Math::Vector4d >
 CSurgSim::Graphics::OsgPlaneOSG plane geode to be used as a primitive shape The plane is the XZ plane, with normal +Y
 CSurgSim::Graphics::OsgUnitAxes
 CSurgSim::Graphics::OsgUnitBoxOSG 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
 CSurgSim::Graphics::OsgUnitCylinderOSG 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
 CSurgSim::Graphics::OsgUnitSphereOSG unit sphere geode to be used as a primitive shape The sphere is located at (0, 0, 0) and has a radius of 1
 COtherData
 COtherElem
 CSurgSim::Input::OutputProducerInterfaceInterface for a producer that generates device output updates (forces, status LED state, etc)
 CSurgSim::Device::PhantomScaffoldA class that manages Sensable PHANTOM devices
 CSurgSim::Physics::PhysicsManagerState
 CPlyElement
 CPlyFile
 CPlyOtherElems
 CPlyOtherProp
 CPlyProperty
 CSurgSim::DataStructures::PlyReaderWrapper 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
 CSurgSim::DataStructures::PlyReaderDelegatePlyReaderDelegate abstract class
 CSurgSim::Framework::PropertyPublic struct to pair an accessible with its appropriate property
 CSurgSim::DataStructures::PlyReader::PropertyInfoInformation about the property on the .ply file
 CSurgSim::Device::RawMultiAxisScaffoldA class that implements the behavior of RawMultiAxisDevice objects
 CSurgSim::Graphics::RenderTargetRenderTarget 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
 CSurgSim::Framework::ReuseFactory< T >Factory for acquiring new or unused existing instances of class T to reduce repeated deallocation and reallocation of objects with short lifespans
 CSurgSim::Math::OdeSolverRungeKutta4::RungeKuttaDerivedStateInternal structure to hold the 4 temporary evaluations
 CSurgSim::Graphics::ShaderBase class that defines the interface for graphics shaders
 CSurgSim::Serialize::ShapesFactoryA factory implementation for shapes
 CSurgSim::Framework::SharedInstance< T >A utility class to manage a shared instance of an object
 CSurgSim::Device::SixenseScaffoldA class that manages Sixense devices, such as the Razer Hydra
 CSurgSim::Physics::SpringBase 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
 CMovingSquareForce::SquarePoseVectorsState defined by the pose of the square
 CSurgSim::Input::CommonDevice::State
 CSurgSim::Device::WdkHidDeviceHandle::State
 CSurgSim::Device::InputDeviceHandle::State
 CSurgSim::Device::NovintScaffold::StateData
 CSurgSim::Device::TrackIRScaffold::StateData
 CSurgSim::Device::PhantomScaffold::StateData
 CSurgSim::Device::SixenseScaffold::StateData
 CSurgSim::Device::RawMultiAxisScaffold::StateData
 CSurgSim::Device::LabJackScaffold::StateDataThe per-scaffold data (in comparison to DeviceData the per-device data)
 CSurgSim::Device::SystemInputDeviceHandleA wrapper for system-dependent access to an input/HID device
 CTest
 CSurgSim::Graphics::TextureBase class defining the interface for a Graphics Texture
 CSurgSim::Framework::TimerTimer class, measures execution times
 CSurgSim::Device::LabJack::TimerSettingsA struct holding the data to be associated with a Timer
 CTrackballManipulator
 CSurgSim::Device::TrackIRScaffoldA class that manages Natural Point TRACKIR devices
 CSurgSim::DataStructures::TreeBasic tree structure
 CSurgSim::DataStructures::TreeDataAbstract base class for data stored in a Tree
 CSurgSim::DataStructures::TreeNodeBasic tree node structure
 CSurgSim::DataStructures::TreeVisitorAbstract Class for visitors, this needs to be extended for other tree nodes when necessary return false from handle() to abort traversal
 CSurgSim::Math::TriangleHelper< T, MOpt >A helper class for a triangle, used for the following two purposes:
 CSurgSim::Graphics::TriangleNormalGeneratorTriangle index functor which calculates normals for the vertices of a geometry, use createNormalGenerator to instantiate this
 CSurgSim::Physics::TruthCubeData
 CSurgSim::Graphics::VectorFieldDataA (mathematical) vector is represented as (X,Y,Z) associated with an optional color (R,G,B,alpha) information
 CSurgSim::DataStructures::Vertex< Data >Vertex structure for meshes
 CSurgSim::DataStructures::Vertex< void >Specialization of Vertex with no data
 CSurgSim::DataStructures::TriangleMeshPlyReaderDelegate< M >::VertexDataInternal structure, the receiver for data from the "vertex" element Provide space for standard ply vertex data, x/y/z and s/t
 CSurgSim::Graphics::VertexData
 CSurgSim::DataStructures::Vertices< VertexData >Base class for mesh structures, handling basic vertex functionality
 CSurgSim::DataStructures::Vertices< EmptyData >
 CWithParamInterface