コード例 #1
0
FrameData H5RandomReader::getFrame(unsigned long step) const {
    FrameData fData;
    for (std::map< std::string, H5::DataSet > ::const_iterator im (matrices.begin());
         im != matrices.end();
         im++) {
        H5::DataSet dSet(im->second);
        double buff[16];
        H5::DataSpace dSpace(dSet.getSpace());
        hsize_t count[3] = {1, 4, 4};
        hsize_t offset[3] = {step, 0, 0};
        dSpace.selectHyperslab(H5S_SELECT_SET, count, offset);
        hsize_t dims[2] = {4, 4};
        H5::DataSpace memSpace(2, dims);
        dSet.read(buff, H5::PredType::NATIVE_DOUBLE, memSpace, dSpace);
        fData.matrices[im->first] = Matrix(buff);
    }
    for (std::map< std::string, H5::DataSet > ::const_iterator im(translates.begin());
         im != translates.end();
         im++) {
        H5::DataSet dSet(im->second);
        double buff[3];
        H5::DataSpace dSpace(dSet.getSpace());
        hsize_t count[2] = {1, 3};
        hsize_t offset[2] = {step, 0};
        dSpace.selectHyperslab(H5S_SELECT_SET, count, offset);
        hsize_t dims[1] = {3};
        H5::DataSpace memSpace(1, dims);
        dSet.read(buff, H5::PredType::NATIVE_DOUBLE, memSpace, dSpace);
        fData.translates[im->first] = Translate(buff);
    }
    for (std::map< std::string, H5::DataSet > ::const_iterator im(wrenches.begin());
         im != wrenches.end();
         im++) {
        H5::DataSet dSet(im->second);
        double buff[6];
        H5::DataSpace dSpace(dSet.getSpace());
        hsize_t count[2] = {1, 6};
        hsize_t offset[2] = {step, 0};
        dSpace.selectHyperslab(H5S_SELECT_SET, count, offset);
        hsize_t dims[1] = {6};
        H5::DataSpace memSpace(1, dims);
        dSet.read(buff, H5::PredType::NATIVE_DOUBLE, memSpace, dSpace);
        fData.wrenches[im->first] = Wrench(buff);
    }
    return fData;
};
コード例 #2
0
 Wrench operator*(const RigidBodyInertia& I,const Twist& t){
     return Wrench(I.m*t.vel-I.h*t.rot,I.I*t.rot+I.h*t.vel);
 }
コード例 #3
0
 Wrench wrenchft( const Vector& force, const Vector& torque )
 {
         return Wrench( force, torque );
 };