1
0
mirror of https://github.com/troisjs/trois.git synced 2024-11-24 12:22:03 +08:00
trois/src/geometries/CylinderGeometry.js

29 lines
893 B
JavaScript
Raw Normal View History

2021-04-04 04:06:41 +08:00
import { defineComponent } from 'vue';
2021-03-07 06:14:22 +08:00
import { CylinderGeometry } from 'three';
2020-09-28 21:36:22 +08:00
import Geometry from './Geometry.js';
2021-03-16 03:01:08 +08:00
export const props = {
radiusTop: { type: Number, default: 1 },
radiusBottom: { type: Number, default: 1 },
height: { type: Number, default: 1 },
radialSegments: { type: Number, default: 8 },
heightSegments: { type: Number, default: 1 },
openEnded: { type: Boolean, default: false },
thetaStart: { type: Number, default: 0 },
thetaLength: { type: Number, default: Math.PI * 2 },
};
export function createGeometry(comp) {
return new CylinderGeometry(comp.radiusTop, comp.radiusBottom, comp.height, comp.radialSegments, comp.heightSegments, comp.openEnded, comp.thetaStart, comp.thetaLength);
};
2021-04-04 04:06:41 +08:00
export default defineComponent({
2020-09-28 21:36:22 +08:00
extends: Geometry,
2021-03-16 03:01:08 +08:00
props,
2020-10-03 17:00:37 +08:00
methods: {
createGeometry() {
2021-03-16 03:01:08 +08:00
this.geometry = createGeometry(this);
2020-10-03 17:00:37 +08:00
},
2020-09-28 21:36:22 +08:00
},
2021-04-04 04:06:41 +08:00
});