All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Functions
Fem3DvsTruthCubeRenderTest.cpp File Reference
#include <math.h>
#include "SurgSim/DataStructures/Vertices.h"
#include "SurgSim/Framework/ApplicationData.h"
#include "SurgSim/Framework/Runtime.h"
#include "SurgSim/Framework/SceneElement.h"
#include "SurgSim/Graphics/OsgAxesRepresentation.h"
#include "SurgSim/Graphics/OsgCamera.h"
#include "SurgSim/Graphics/OsgManager.h"
#include "SurgSim/Graphics/OsgPointCloudRepresentation.h"
#include "SurgSim/Graphics/OsgView.h"
#include "SurgSim/Graphics/OsgViewElement.h"
#include "SurgSim/Graphics/PointCloudRepresentation.h"
#include "SurgSim/Math/OdeState.h"
#include "SurgSim/Math/Quaternion.h"
#include "SurgSim/Math/Vector.h"
#include "SurgSim/Math/RigidTransform.h"
#include "SurgSim/Physics/Fem3DRepresentation.h"
#include "SurgSim/Physics/Fem3DElementCube.h"
#include "SurgSim/Physics/PhysicsManager.h"
#include "SurgSim/Physics/RenderTests/RenderTest.h"
#include "SurgSim/Framework/Logger.h"
Include dependency graph for Fem3DvsTruthCubeRenderTest.cpp:

Classes

struct  SurgSim::Physics::TruthCubeData
 
class  SurgSim::Physics::TruthCubeRepresentation
 Truth cube representation (extension of a Fem3DRepresentation) Defines a subdivided initial cube with cube FemElements. More...
 
struct  SurgSim::Physics::Fem3DVSTruthCubeRenderTests
 

Namespaces

 SurgSim
 
 SurgSim::Physics
 

Functions

bool SurgSim::Physics::parseTruthCubeData (std::shared_ptr< TruthCubeData > truthCubeData)
 Parsing Truth Cube data from an external file. More...
 
size_t SurgSim::Physics::searchForClosestNodeInState (std::shared_ptr< SurgSim::Math::OdeState > state, Vector3d p)
 Search the node in the state that is the closest to a given 3d point This is necessary because the structure of the nodes in the state and in the truth cube is not necessarily matching The state is built with a structure aligned on +X +Y +Z, while the truth cube data are defined along +X +Y -Z and rotated (PI/2 along X) to match Y up, so 3d indices don't match. More...
 
void SurgSim::Physics::buildConstrainedSystem (std::shared_ptr< TruthCubeRepresentation > truthCubeRepresentation, SurgSim::Math::Matrix &A, SurgSim::Math::Vector &B)
 Build the constrained system for a given truth cube representation. More...
 
SurgSim::Math::Vector SurgSim::Physics::staticSolver (std::shared_ptr< TruthCubeRepresentation > truthCubeRepresentation)
 Using static solver to find the displacement of truth cube. More...
 
void SurgSim::Physics::doSimulation (std::shared_ptr< TruthCubeData > truthCubeData, std::shared_ptr< TruthCubeRepresentation > truthCubeRepresentation, double displacement)
 Simulate the truth cube statically with the boundary conditions applied. More...
 
void SurgSim::Physics::copySimulationBeadsIntoPointCloud (std::shared_ptr< TruthCubeRepresentation > truthCubeRepresentation, std::shared_ptr< SurgSim::Graphics::OsgPointCloudRepresentation > representation)
 Copy simulation beads data into point cloud. More...
 
void SurgSim::Physics::copyExperimentalBeadsIntoPointCloud (std::vector< SurgSim::Math::Vector3d > truthCube, std::shared_ptr< SurgSim::Graphics::OsgPointCloudRepresentation > representation)
 
double SurgSim::Physics::analyzeError (std::vector< Vector3d > cubeData, std::shared_ptr< SurgSim::Math::OdeState > state)
 Simple error analysis. More...
 
 SurgSim::Physics::TEST_F (Fem3DVSTruthCubeRenderTests, rawDataTest)
 
 SurgSim::Physics::TEST_F (Fem3DVSTruthCubeRenderTests, Test5percentsStrain)
 Simulate truth cube with 5% strain (4mm of displacement). More...
 
 SurgSim::Physics::TEST_F (Fem3DVSTruthCubeRenderTests, Test12percentsAndHalfStrain)
 Simulate truth cube with 12.5% strain (10mm of displacement). More...
 
 SurgSim::Physics::TEST_F (Fem3DVSTruthCubeRenderTests, Test18percentsAndQuarterStrain)
 Simulate truth cube with 18.25% strain (14.6mm of displacement). More...