Example:
const viewer = new Ditap.DitapViewer("ditapContainer");
const destination = Ditap.Cartesian3.fromDegrees(
126.978275264,
37.566642192,
400
);
// 카메라 이동
viewer.scene.camera.flyTo({
destination: destination,
});
const modelMatrix = Ditap.Transforms.eastNorthUpToFixedFrame(
Ditap.Cartesian3.fromDegrees(126.9782349646649, 37.56671536989183, 100)
);
const model = await Ditap.Model.fromGltfAsync({
id: "model_01",
url: "../../SampleData/models/GroundVehicle/GroundVehicle.glb",
modelMatrix: modelMatrix,
scale: 3,
});
viewer.scene.primitives.add(model);
// 1. 절단면 분석 인스턴스 생성
const analysisClipping = new AnalysisClipping(viewer, model);
// 2. 절단면 생성
const planeX = analysisClipping.add(AnalysisClipping.PLANE_X_NORMAL);
// const planeY = analysisClipping.add(AnalysisClipping.PLANE_Y_NORMAL);
// const planeZ = analysisClipping.add(AnalysisClipping.PLANE_Z_NORMAL);
// 3. 절단면 제거
analysisClipping.remove(planeX);
// analysisClipping.remove(planeY);
// analysisClipping.remove(planeZ);
// 4. 절단면 거리 조절
analysisClipping.setDistance(planeX, 10);
// analysisClipping.setDistance(planeY, 10);
// analysisClipping.setDistance(planeZ, 10);
Members
static constant Ditap.AnalysisClipping.PLANE_X_NORMAL : Cartesian3
월드좌표 X 방향 노멀.
World coordinates X direction normal.
World coordinates X direction normal.
static constant Ditap.AnalysisClipping.PLANE_Y_NORMAL : Cartesian3
월드좌표 Y 방향 노멀.
World coordinates Y direction normal.
World coordinates Y direction normal.
static constant Ditap.AnalysisClipping.PLANE_Z_NORMAL : Cartesian3
월드좌표 Z 방향 노멀.
World coordinates Z direction normal.
World coordinates Z direction normal.
절단면 분석 객체 ID.
AnalysisClipping instance id.
readonly planes : Array.<ClippingPlane>
적용중인 절단면.
Clipping plane being applied.
Clipping plane being applied.
readonly selectObject : Model|Cesium3DTileset|ModelGraphics
절단면 분석 오브젝트.
Clipping plane analysis object.
viewer : DitapViewer
사용할 Ditap Viewer 인스턴스.
The DitapViewer instance to use.
Methods
add(normal, distance) → ClippingPlane
절단면 추가.
Add clipping plane
Name | Type | Default | Description |
---|---|---|---|
normal |
String | Cartesian3 | 축 ["X", "Y", "Z"] 또는 법선벡터. Axis ["X", "Y", "Z"] or normal vector. | |
distance |
number |
0
|
거리. Normal distance. |
Returns:
생성된 절단면 객체. Clipping plane object.
모든 절단면 제거.
Remove all created clipping planes
Remove all created clipping planes
인스턴스 제거.
Destroys the instance.
Destroys the instance.
getPlaneByNormal(normal) → ClippingPlane|undefined
입력된 노멀에 해당하는 절단면 추출.
Extract clipping plane corresponding to input normal.
Extract clipping plane corresponding to input normal.
Name | Type | Description |
---|---|---|
normal |
Cartesian3 |
Returns:
clippingPlane
절단면 제거.
Remove the entered clipping plane
Name | Type | Description |
---|---|---|
plane |
ClippingPlane | 제거할 절단면. The clipping plane to be removed |
Returns:
절단면 제거 여부. Whether to remove clipping plane.
절단면 위치 조절.
Move in normal direction
Name | Type | Description |
---|---|---|
plane |
ClippingPlane | 이동시킬 절단면. The model to be moved. |
distance |
number | 이동 거리 (미터). Movement amount (meters). |
Returns:
위치 조절된 절단면.
Position adjusted cutting plane.
Position adjusted cutting plane.
절단면 노멀 재설정.
Reset clipping plane normal.
Reset clipping plane normal.
Name | Type | Description |
---|---|---|
plane |
ClippingPlane |
재설정 절단면. Reset clipping plane. |
normal |
Cartesian3 |
재설정 노멀. Reset Normal. |
Returns:
plane 노멀 재설정된 절단면.
Normal reset clipping plane.
Normal reset clipping plane.