/// Create the context for the tests. void SetUp() { // if( sofa::simulation::getSimulation()==NULL ) sofa::simulation::setSimulation(simulation = new sofa::simulation::graph::DAGSimulation()); /// Create the scene root = simulation->createNewGraph("root"); PointSetTopologyContainer::SPtr topology = core::objectmodel::New<PointSetTopologyContainer>(); root->addObject(topology); dofs = core::objectmodel::New<MechanicalObject>(); root->addObject(dofs); projection = core::objectmodel::New<ProjectToLineConstraint>(); root->addObject(projection); /// Set the values numNodes = 3; dofs->resize(numNodes); origin = CPos(0,0,0); projection->f_origin.setValue(origin); direction = CPos(1,1,1); projection->f_direction.setValue(direction); }
// Create the context for the scene void SetUp() { // Init simulation sofa::component::init(); sofa::simulation::setSimulation(simulation = new sofa::simulation::graph::DAGSimulation()); size_t resolutionCircumferential=7; size_t resolutionRadial=3; size_t resolutionHeight=7; size_t maxIteration=3000; // maximum iteration for the CG. vIndex=(resolutionCircumferential*(resolutionRadial-1)+1)*resolutionHeight/2; //Load the scene std::string sceneName = (DataTypes::sceneName); std::string fileName = std::string(FLEXIBLE_TEST_SCENES_DIR) + "/" + sceneName; tractionStruct.root = simulation->createNewGraph("root"); tractionStruct.root = sofa::core::objectmodel::SPtr_dynamic_cast<sofa::simulation::Node>( sofa::simulation::getSimulation()->load(fileName.c_str())); // Get force field typedef component::forcefield::TrianglePressureForceField<Vec3Types> TrianglePressureForceField; tractionStruct.forceField = tractionStruct.root->get<TrianglePressureForceField>( tractionStruct.root->SearchDown); // Get mechanical object typedef component::container::MechanicalObject<Vec3Types> MechanicalObject; tractionStruct.dofs = tractionStruct.root->get<MechanicalObject>( tractionStruct.root->SearchDown); // Get child nodes simulation::Node::SPtr behaviorNode = tractionStruct.root->getChild("behavior"); strainNode = behaviorNode->getChild("Strain"); }
/// Create the context for the matrix tests. void SetUp() { sofa::component::init(); // if( sofa::simulation::getSimulation()==NULL ) sofa::simulation::setSimulation(simulation = new sofa::simulation::graph::DAGSimulation()); /// Create the scene root = simulation->createNewGraph("root"); PointSetTopologyContainer::SPtr topology = New<PointSetTopologyContainer>(); root->addObject(topology); dofs = New<MechanicalObject>(); root->addObject(dofs); projection = New<ProjectToPlaneConstraint>(); root->addObject(projection); /// Set the values numNodes = 3; dofs->resize(numNodes); origin = CPos(0,0,0); projection->f_origin.setValue(origin); normal = CPos(1,1,1); projection->f_normal.setValue(normal); }
/// Create the context for the tests. void SetUp() { // if( sofa::simulation::getSimulation()==NULL ) sofa::simulation::setSimulation(simulation = new sofa::simulation::graph::DAGSimulation()); /// Create the scene root = simulation->createNewGraph("root"); dofs = core::objectmodel::New<MechanicalObject>(); root->addObject(dofs); projection = core::objectmodel::New<SkeletalMotionConstraint>(); root->addObject(projection); }
// Create the context for the scene void SetUp() { // Init simulation sofa::simulation::setSimulation(simulation = new sofa::simulation::graph::DAGSimulation()); vIndex=5; //Load the scene std::string sceneName = (DataTypes::sceneName); std::string fileName = std::string(FLEXIBLE_TEST_SCENES_DIR) + "/" + sceneName; tractionStruct.root = simulation->createNewGraph("root"); tractionStruct.root = down_cast<sofa::simulation::Node>( sofa::simulation::getSimulation()->load(fileName.c_str()).get() ); // Get child nodes simulation::Node::SPtr triangleNode = tractionStruct.root->getChild("Triangles"); simulation::Node::SPtr behaviorNode = tractionStruct.root->getChild("behavior"); strainNode = behaviorNode->getChild("Strain"); // Get force field typedef component::forcefield::TrianglePressureForceField<Vec3Types> TrianglePressureForceField; tractionStruct.forceField = triangleNode->get<TrianglePressureForceField>( tractionStruct.root->SearchDown); // Get mechanical object typedef component::container::MechanicalObject<Vec3Types> MechanicalObject; tractionStruct.dofs = tractionStruct.root->get<MechanicalObject>( tractionStruct.root->SearchDown); // Add behavior mechanical object DefoDOFsSPtr defoDofs = addNew<DefoDOFs>(behaviorNode); // Add linear mapping typename LinearMapping::SPtr linearMapping = addNew<LinearMapping>(behaviorNode); linearMapping->setModels(tractionStruct.dofs.get(),defoDofs.get()); // Add strain mechanical object strainDOFsSPtr strainDOFs = addNew<StrainDOFs>(strainNode); // Add strain mapping typename StrainMapping::SPtr strainMapping = addNew<StrainMapping>(strainNode); strainMapping->setModels(defoDofs.get(),strainDOFs.get()); }