Как работать с VertexBufferReader для доступа к определенной геометрии детали - PullRequest
0 голосов
/ 29 мая 2018

Использование VertexBufferReader, как предложено в Autodesk Forge Viewer: f2d получить фрагмент из dbid У меня есть какой-то читатель, который, очевидно, может использоваться для чтения геометрии из определенного dbId, который является моей целью.
Мой подход, который основан на ответе на другой вопрос, не работает

   const d2f = oViewer2D.gui.model.getFragmentList().fragments.dbId2fragId; //acquire dbid to fragid reference
        const geometry = oViewer2D.gui.impl.getFragmentProxy(oViewer2D.gui.model, d2f[941]).frags.getGeometry(d2f[941]); //get geometry for fragment
        const reader = new Autodesk.Viewing.Private.VertexBufferReader(geometry); //create reader for geometry
        let obj = new CallbackObject(); //sample callbackobject for reader
        console.log(reader.enumGeomsForObject(940,obj)); //find geometry for dbid --> not working

class CallbackObject {
    constructor() {
    }

    onLineSegment(x0, y0, x1, y1, viewport_id) {
    }

    onCircularArc(centerX, centerY, startAngle, endAngle, radius, viewport_id) {
    }

    onEllipticalArc(centerX, centerY, startAngle, endAngle, major, minor, tilt, viewport_id) {
    }

    onTriangleVertex(x, y, viewport_id) {
    }
}

Цель: у меня есть нарисованный многоугольник, и я хочу найти часть, которая пересекается с ним, но для этого янужны координаты из частей.Спасибо!

...