コード例 #1
0
 glm::mat4x4 FlyingCamera::getCameraMatrix(){
  glm::vec3 translateVec(-q.getValue(xpos),-q.getValue(ypos),-q.getValue(zpos));
 
 
    return orientation.getMatrix()*glm::translate(glm::mat4x4(1.0f),translateVec);
     
 }   
コード例 #2
0
optional<GeometryCollection> FeatureIndex::translateQueryGeometry(
        const GeometryCollection& queryGeometry,
        const std::array<float, 2>& translate,
        const style::TranslateAnchorType anchorType,
        const float bearing,
        const float pixelsToTileUnits) {
    if (translate[0] == 0 && translate[1] == 0) {
        return {};
    }

    GeometryCoordinate translateVec(translate[0] * pixelsToTileUnits, translate[1] * pixelsToTileUnits);
    if (anchorType == style::TranslateAnchorType::Viewport) {
        translateVec = util::rotate(translateVec, -bearing);
    }

    GeometryCollection translated;
    for (const auto& ring : queryGeometry) {
        translated.emplace_back();
        auto& translatedRing = translated.back();
        for (const auto& p : ring) {
            translatedRing.push_back(p - translateVec);
        }
    }
    return translated;
}