#include <cuda_runtime.h>


Go to the source code of this file.
Data Structures | |
| class | CudaVec2< float > |
| class | CudaVec3< float > |
| class | CudaVec4< float > |
| class | matrix3< real > |
Typedefs | |
| typedef CudaVec2< float > | CudaVec2f |
| typedef CudaVec3< float > | CudaVec3f |
| typedef CudaVec4< float > | CudaVec4f |
Functions | |
| template<class real > | |
| __device__ CudaVec3< real > | operator+ (CudaVec3< real > a, CudaVec3< real > b) |
| template<class real > | |
| __device__ void | operator+= (CudaVec3< real > &a, CudaVec3< real > b) |
| template<class real > | |
| __device__ void | operator+= (CudaVec3< real > &a, real b) |
| template<class real > | |
| __device__ CudaVec3< real > | operator- (CudaVec3< real > a, CudaVec3< real > b) |
| template<class real > | |
| __device__ void | operator-= (CudaVec3< real > &a, CudaVec3< real > b) |
| template<class real > | |
| __device__ void | operator-= (CudaVec3< real > &a, real b) |
| template<class real > | |
| __device__ CudaVec3< real > | operator- (CudaVec3< real > &a) |
| template<class real > | |
| __device__ CudaVec3< real > | operator* (CudaVec3< real > a, real b) |
| template<class real > | |
| __device__ CudaVec3< real > | operator/ (CudaVec3< real > a, real b) |
| template<class real > | |
| __device__ void | operator*= (CudaVec3< real > &a, real b) |
| template<class real > | |
| __device__ CudaVec3< real > | operator* (real a, CudaVec3< real > b) |
| template<class real > | |
| __device__ CudaVec3< real > | mul (CudaVec3< real > a, CudaVec3< real > b) |
| template<class real > | |
| __device__ real | dot (CudaVec3< real > a, CudaVec3< real > b) |
| template<class real > | |
| __device__ CudaVec3< real > | cross (CudaVec3< real > a, CudaVec3< real > b) |
| template<class real > | |
| __device__ real | norm2 (CudaVec3< real > a) |
| template<class real > | |
| __device__ real | norm (CudaVec3< real > a) |
| template<class real > | |
| __device__ real | invnorm (CudaVec3< real > a) |
| typedef CudaVec2<float> CudaVec2f |
Definition at line 100 of file CudaMath.h.
| typedef CudaVec3<float> CudaVec3f |
Definition at line 101 of file CudaMath.h.
| typedef CudaVec4<float> CudaVec4f |
Definition at line 102 of file CudaMath.h.
| __device__ CudaVec3<real> cross | ( | CudaVec3< real > | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 194 of file CudaMath.h.
Referenced by sofa::component::constraint::UnilateralInteractionConstraint< DataTypes >::addContact(), sofa::component::forcefield::FrameSpringForceField< DataTypes >::addSpringForce(), sofa::helper::adjoint_transpose(), sofa::component::mapping::TubularMapping< BasicMapping >::applyJ(), sofa::component::mapping::SkinningMapping< BasicMapping >::applyJ(), sofa::component::mapping::RigidRigidMapping< BasicMapping >::applyJ(), sofa::component::mapping::RigidMapping< BasicMapping >::applyJ(), sofa::component::mapping::BeamLinearMapping< BasicMapping >::applyJ(), sofa::component::mapping::ArticulatedSystemMapping< BasicMapping >::applyJ(), sofa::component::mapping::TubularMapping< BasicMapping >::applyJT(), sofa::component::mapping::SkinningMapping< BasicMapping >::applyJT(), sofa::component::mapping::RigidRigidMapping< BasicMapping >::applyJT(), sofa::component::mapping::RigidMapping< BasicMapping >::applyJT(), sofa::component::mapping::BeamLinearMapping< BasicMapping >::applyJT(), sofa::component::mapping::ArticulatedSystemMapping< BasicMapping >::applyJT(), sofa::component::collision::DistanceGrid::calcDistance(), sofa::component::constraint::AttachConstraint< DataTypes >::calcRestRotations(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::compute3PointsBarycoefs(), sofa::component::collision::TriangleOctreeModel::computeBoundingTree(), sofa::component::collision::TriangleModel::computeBoundingTree(), sofa::component::collision::TriangleModel::computeContinuousBoundingTree(), sofa::component::collision::DiscreteIntersection::computeIntersection(), sofa::component::forcefield::TriangularAnisotropicFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::visualmodel::VisualModelImpl::computeNormals(), sofa::component::visualmodel::OgreVisualModel::computeNormals(), sofa::component::mapping::computeOrientation(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::computePlane(), sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::computeQuadNormal(), sofa::helper::gl::Trackball::ComputeQuaternion(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::forcefield::HexahedronFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::computeRotationLarge(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeSegmentTriangleIntersection(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleBarycoefs(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleNormal(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInQuad(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::createPointInQuad(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInQuad(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInTriangle(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::createPointInTriangle(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInTriangle(), sofa::helper::do_rank2(), sofa::component::collision::TetrahedronModel::draw(), projects::GenerateRigid(), sofa::helper::polygon_cube_intersection::get_polygon_normal(), sofa::component::topology::CylinderGridTopology::getPoint(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::init(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), sofa::component::constraint::ParabolicConstraint< DataTypes >::init(), sofa::component::topology::is_point_in_halfplane(), sofa::component::topology::is_point_in_triangle(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_PointinTriangle(), sofa::component::collision::DiscreteIntersection::testIntersection(), sofa::component::collision::Point::testLMD(), sofa::component::collision::LocalMinDistance::testValidity(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction(), sofa::component::topology::tripleProduct(), sofa::component::collision::TriangleModel::updateNormals(), sofa::component::collision::PointModel::updateNormals(), sofa::component::behaviormodel::eulerianfluid::Fluid3D::updateVisual(), and sofa::component::behaviormodel::eulerianfluid::Fluid2D::updateVisual().
| __device__ real dot | ( | CudaVec3< real > | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 188 of file CudaMath.h.
Referenced by sofa::component::constraint::UnilateralInteractionConstraint< DataTypes >::addContact(), sofa::component::forcefield::SpringEdgeDataForceField< DataTypes >::addDForce(), sofa::component::forcefield::TensorForceField< DataTypes >::addElasticTensors(), sofa::component::interactionforcefield::RepulsiveSpringForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addForce(), sofa::component::forcefield::SpringEdgeDataForceField< DataTypes >::addForce(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::addForce(), sofa::component::forcefield::ConicalForceField< DataTypes >::addForce(), sofa::component::forcefield::StiffSpringForceField< DataTypes >::addSpringForce(), sofa::component::forcefield::SpringForceField< DataTypes >::addSpringForce(), applyForceCallback(), sofa::component::mapping::LaparoscopicRigidMapping< BasicMapping >::applyJT(), sofa::component::mapping::ArticulatedSystemMapping< BasicMapping >::applyJT(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::mapping::computeOrientation(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::createPointInLine(), sofa::filemanager::pml::PMLInteractionForceField::createSprings(), SensAble::draw(), sofa::component::collision::RayTraceDetection::findPairsVolume(), sofa::component::topology::PointSetGeometryAlgorithms< DataTypes >::getEnclosingSphere(), sofa::component::collision::ContinuousTriangleIntersection::intersectEdgeEdge(), sofa::component::collision::ContinuousTriangleIntersection::intersectPointTriangle(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::isPointInPlane(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::isPointInPlane(), sofa::component::constraint::FixedPlaneConstraint< DataTypes >::isPointInPlane(), sofa::helper::make_reflector(), matrix3< real >::mulX(), matrix3< real >::mulY(), matrix3< real >::mulZ(), sofa::component::collision::TriangleOctree::nearestTriangle(), sofa::component::collision::RayTriangleIntersection::NewComputation(), sofa::component::collision::DistancePointTri::NewComputation(), sofa::component::collision::DistanceSegTri::NewComputation(), sofa::component::collision::DistanceTriTri::NewComputation(), matrix3< real >::operator*(), sofa::helper::polar_decomp(), sofa::component::constraint::FixedPlaneConstraint< DataTypes >::projectResponse(), sofa::helper::reflect_rows(), sofa::component::collision::Point::testLMD(), sofa::component::collision::LocalMinDistance::testValidity(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction(), and sofa::component::topology::tripleProduct().
| __device__ real invnorm | ( | CudaVec3< real > | a | ) | [inline] |
| __device__ CudaVec3<real> mul | ( | CudaVec3< real > | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 182 of file CudaMath.h.
| __device__ real norm | ( | CudaVec3< real > | a | ) | [inline] |
Definition at line 206 of file CudaMath.h.
References norm2().
Referenced by sofa::component::forcefield::PenalityContactForceField< CudaVec3fTypes >::addDForce(), sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::addDForce(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::addDForce(), sofa::component::forcefield::PenalityContactForceField< CudaVec3fTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addForce(), sofa::component::forcefield::SphereForceField< DataTypes >::addForce(), sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::addForce(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::addForce(), sofa::component::forcefield::EllipsoidForceField< DataTypes >::addForce(), sofa::component::forcefield::ConicalForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangleBendingSprings< DataTypes >::addSpring(), sofa::component::forcefield::QuadBendingSprings< DataTypes >::addSpring(), sofa::gui::qt::viewer::qt::QtViewer::ApplyMouseInteractorTransformation(), sofa::component::topology::areaProduct(), sofa::gpu::cuda::CudaDistanceGrid::calcCubeDistance(), sofa::component::collision::DistanceGrid::calcCubeDistance(), sofa::component::interactionforcefield::InteractionEllipsoidForceField< DataTypes1, DataTypes2 >::calcF(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeEdgeLength(), sofa::component::forcefield::HexahedronFEMForceField< DataTypes >::computeElementStiffness(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::computeElementStiffness(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeRestEdgeLength(), sofa::component::forcefield::PenalityContactForceField< CudaVec3fTypes >::draw(), sofa::gpu::cuda::CudaRigidDistanceGridCollisionModel::draw(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::draw(), sofa::component::forcefield::SpringForceField< DataTypes >::draw(), sofa::component::forcefield::SpringEdgeDataForceField< DataTypes >::draw(), sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::draw(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::draw(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::draw(), sofa::component::forcefield::FrameSpringForceField< DataTypes >::draw(), sofa::component::collision::RigidDistanceGridCollisionModel::draw(), sofa::gui::qt::viewer::qt::QtViewer::DrawBox(), sofa::gui::qt::viewer::qgl::QtGLViewer::DrawBox(), sofa::gui::glut::SimpleGUI::DrawBox(), sofa::component::topology::CylinderGridTopology::getPoint(), sofa::component::mapping::SkinningMapping< BasicMapping >::init(), sofa::component::mapping::BeamLinearMapping< BasicMapping >::init(), sofa::component::constraint::AttachConstraint< DataTypes >::init(), sofa::gpu::cuda::CudaRigidTypes< 3, real >::interpolate(), sofa::defaulttype::StdRigidTypes< 3, real >::interpolate(), sofa::helper::Quater< Real >::inverse(), sofa::helper::io::MassSpringLoader::load(), sofa::component::forcefield::BeamFEMForceField< DataTypes >::reinitBeam(), sofa::gui::qt::viewer::qt::QtViewer::resetView(), sofa::gui::qt::viewer::qt::QtViewer::setScene(), sofa::helper::Quater< Real >::toEulerVector(), and sofa::component::forcefield::SphereForceField< DataTypes >::updateStiffness().
| __device__ real norm2 | ( | CudaVec3< real > | a | ) | [inline] |
Definition at line 200 of file CudaMath.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::addForce(), sofa::component::forcefield::SPHFluidForceField< DataTypes >::addForce(), sofa::component::forcefield::SphereForceField< DataTypes >::addForce(), sofa::component::forcefield::EllipsoidForceField< DataTypes >::addForce(), sofa::component::interactionforcefield::InteractionEllipsoidForceField< DataTypes1, DataTypes2 >::calcF(), sofa::component::container::SpatialGrid< DataTypes >::computeField(), sofa::component::collision::DiscreteIntersection::computeIntersection(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeRestSquareEdgeLength(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::createPointInTriangle(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::createPointInTriangle(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInTriangle(), sofa::gpu::cuda::CudaDistanceGrid::eval(), sofa::component::collision::DistanceGrid::eval(), sofa::gpu::cuda::CudaDistanceGrid::eval2(), sofa::component::collision::DistanceGrid::eval2(), sofa::component::container::SpatialGrid< DataTypes >::findNeighbors(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::init(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), invnorm(), norm(), sofa::defaulttype::RigidCoord< 2, real >::norm(), sofa::defaulttype::RigidCoord< 3, real >::norm(), sofa::gpu::cuda::CudaDistanceGrid::quickeval(), sofa::component::collision::DistanceGrid::quickeval(), sofa::gpu::cuda::CudaDistanceGrid::quickeval2(), sofa::component::collision::DistanceGrid::quickeval2(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleCreationFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleDestructionFunction(), sofa::component::collision::FFDDistanceGridCollisionModel::updateGrid(), and sofa::component::forcefield::SphereForceField< DataTypes >::updateStiffness().
| __device__ CudaVec3<real> operator* | ( | real | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 176 of file CudaMath.h.
| __device__ CudaVec3<real> operator* | ( | CudaVec3< real > | a, | |
| real | b | |||
| ) | [inline] |
Definition at line 156 of file CudaMath.h.
| __device__ void operator*= | ( | CudaVec3< real > & | a, | |
| real | b | |||
| ) | [inline] |
Definition at line 168 of file CudaMath.h.
| __device__ CudaVec3<real> operator+ | ( | CudaVec3< real > | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 106 of file CudaMath.h.
| __device__ void operator+= | ( | CudaVec3< real > & | a, | |
| real | b | |||
| ) | [inline] |
Definition at line 120 of file CudaMath.h.
| __device__ void operator+= | ( | CudaVec3< real > & | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 112 of file CudaMath.h.
| __device__ CudaVec3<real> operator- | ( | CudaVec3< real > & | a | ) | [inline] |
Definition at line 150 of file CudaMath.h.
| __device__ CudaVec3<real> operator- | ( | CudaVec3< real > | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 128 of file CudaMath.h.
| __device__ void operator-= | ( | CudaVec3< real > & | a, | |
| real | b | |||
| ) | [inline] |
Definition at line 142 of file CudaMath.h.
| __device__ void operator-= | ( | CudaVec3< real > & | a, | |
| CudaVec3< real > | b | |||
| ) | [inline] |
Definition at line 134 of file CudaMath.h.
| __device__ CudaVec3<real> operator/ | ( | CudaVec3< real > | a, | |
| real | b | |||
| ) | [inline] |
Definition at line 162 of file CudaMath.h.
1.5.7.1