2021년 6월 18일 금요일

Autodesk forge viewer coordinate conversion

와.. 한참 찾았네..

멋지다. 굳.

viewportId 는 일반적으로 1 




// convert paper to model
function fn_convert_position(point){
var matrix = viewer.model.getPageToModelTransform(1) //vpId : viewportId
return new THREE.Vector3(point.x, point.y, 0).applyMatrix4(matrix);
}

// convert model to paper
function fn_inverse_position(point){
var matrix = new THREE.Matrix4().getInverse(viewer.model.getPageToModelTransform(1)) //vpId : viewportId
return new THREE.Vector3( point.x, point.y, 0 ).applyMatrix4(matrix)
}

// example
r1 = fn_convert_position(new THREE.Vector3( 10, 10, 0 ))
// result : X.Vector3{x: 236000.85091722145, y: 325217.9908402892, z: 0}

r2 = fn_inverse_position(new THREE.Vector3( 236000, 325217, 0 ))
// result : X.Vector3{x: 10, y: 10, z: 0}






댓글 없음:

댓글 쓰기