0.6.12 • Published 3 months ago

@vis-three/module-geometry v0.6.12

Weekly downloads
-
License
MPL-2.0
Repository
-
Last release
3 months ago

@vis-three/module-geometry

最新版本

license

模块信息

module.type

  • : geometry

module.lifeOrder

  • : SUPPORT_LIFE_CYCLE.TWO - 200

提供配置

几何基础-Geometry

  • 类型Geometry
  • 配置类型:
/**
 * 几何组配置
 */
export interface GeometryGroup {
  /**开始几何点 */
  start: number;
  /**结束几何点 */
  count: number;
  /**材质索引 */
  materialIndex: number;
}
/**
 * 几何配置基础
 */
export interface GeometryConfig extends SymbolConfig {
  /**是否居中几何,开启后会先居中几何,再进行其他几何运算,这对于几何中心不再原点的模型很有用。 */
  center: boolean;
  /**几何锚点中心位置 */
  position: Vector3Config;
  /**几何锚点旋转 */
  rotation: Vector3Config;
  /**几何锚点缩放 */
  scale: Vector3Config;
  /**几何组 */
  groups: GeometryGroup[];
}
  • 默认配置
{
  vid: "",
  type: "Geometry",
  name: "",
  center: true,
  position: {
    x: 0, // percent
    y: 0, // percent
    z: 0, // percent
  },
  rotation: {
    x: 0,
    y: 0,
    z: 0,
  },
  scale: {
    x: 1,
    y: 1,
    z: 1,
  },
  groups: [],
}

:::tip

  • position属性为百分比值。例如几何中心在最右侧:position.x = 1
  • 此类型为内部调用 :::

立方体几何-BoxGeometry

  • 类型BoxGeometry
  • 配置类型:
export interface BoxGeometryConfig extends GeometryConfig {
  /**立方体宽 */
  width: number;
  /**立方体高 */
  height: number;
  /** 立方体深度 */
  depth: number;
  /** 宽分段数 */
  widthSegments: number;
  /** 高分段数 */
  heightSegments: number;
  /** 深分段数 */
  depthSegments: number;
}
  • 默认配置
{
  width: 5,
  height: 5,
  depth: 5,
  widthSegments: 1,
  heightSegments: 1,
  depthSegments: 1,
}

球型几何-SphereGeometry

export interface SphereGeometryConfig extends GeometryConfig {
  radius: number;
  widthSegments: number;
  heightSegments: number;
  phiStart: number;
  phiLength: number;
  thetaStart: number;
  thetaLength: number;
}
  • 默认配置
{
  radius: 3,
  widthSegments: 32,
  heightSegments: 32,
  phiStart: 0,
  phiLength: Math.PI * 2,
  thetaStart: 0,
  thetaLength: Math.PI,
}

平面几何-PlaneGeometry

export interface PlaneGeometryConfig extends GeometryConfig {
  width: number;
  height: number;
  widthSegments: number;
  heightSegments: number;
}
  • 默认配置
{
  width: 5,
  height: 5,
  widthSegments: 1,
  heightSegments: 1,
}

圆形几何-CircleGeometry

export interface CircleGeometryConfig extends GeometryConfig {
  radius: number;
  segments: number;
  thetaStart: number;
  thetaLength: number;
}
  • 默认配置
{
  radius: 3,
  segments: 8,
  thetaStart: 0,
  thetaLength: Math.PI * 2,
}

圆锥几何-ConeGeometry

export interface ConeGeometryConfig extends GeometryConfig {
  radius: number;
  height: number;
  radialSegments: number;
  heightSegments: number;
  openEnded: boolean;
  thetaStart: number;
  thetaLength: number;
}
  • 默认配置
{
  radius: 3,
  height: 5,
  radialSegments: 8,
  heightSegments: 1,
  openEnded: false,
  thetaStart: 0,
  thetaLength: Math.PI * 2,
}

圆柱几何-CylinderGeometry

export interface CylinderGeometryConfig extends GeometryConfig {
  radiusTop: number;
  radiusBottom: number;
  height: number;
  radialSegments: number;
  heightSegments: number;
  openEnded: boolean;
  thetaStart: number;
  thetaLength: number;
}
  • 默认配置
{
  radiusTop: 3,
  radiusBottom: 3,
  height: 5,
  radialSegments: 8,
  heightSegments: 1,
  openEnded: false,
  thetaStart: 0,
  thetaLength: Math.PI * 2,
}

十二面几何-DodecahedronGeometry

export interface DodecahedronGeometryConfig extends GeometryConfig {
  radius: number;
  detail: number;
}
  • 默认配置
{
  radius: 3,
  detail: 0,
}

边缘几何-EdgesGeometry

export interface EdgesGeometryConfig extends GeometryConfig {
  /**目标几何vid标识 */
  url: string;
  thresholdAngle: number;
}
  • 默认配置
{
  url: "",
  thresholdAngle: 1,
}

圆环几何-TorusGeometry

export interface TorusGeometryConfig extends GeometryConfig {
  radius: number;
  tube: number;
  radialSegments: number;
  tubularSegments: number;
  arc: number;
}
  • 默认配置
{
  radius: 3,
  tube: 0.4,
  radialSegments: 8,
  tubularSegments: 6,
  arc: Math.PI * 2,
}

圆环平面几何-RingGeometry

export interface RingGeometryConfig extends GeometryConfig {
  innerRadius: number;
  outerRadius: number;
  thetaSegments: number;
  phiSegments: number;
  thetaStart: number;
  thetaLength: number;
}
  • 默认配置
{
  innerRadius: 2,
  outerRadius: 3,
  thetaSegments: 8,
  phiSegments: 8,
  thetaStart: 0,
  thetaLength: Math.PI * 2,
}

加载几何-LoadGeometry

  • 类型LoadGeometry
  • 配置类型:
/**
 * 加载几何
 */
export interface LoadGeometryConfig extends GeometryConfig {
  /**目标几何资源地址,通过ResourceManagerPlugin解析 */
  url: string;
}
  • 默认配置
{
  url: "",
}

自定义几何-CustomGeometry

  • 类型CustomGeometry
  • 配置类型:
export interface CustomGeometryConfig extends GeometryConfig {
  attribute: {
    position: number[];
    color: number[];
    index: number[];
    normal: number[];
    uv: number[];
    uv2: number[];
  };
}
  • 默认配置
{
  attribute: {
    position: [],
    color: [],
    index: [],
    normal: [],
    uv: [],
    uv2: [],
  },
}

曲线路径几何-CurveGeometry

  • 类型CurveGeometry
  • 配置类型:
export interface CurveGeometryConfig extends GeometryConfig {
  /**曲线参数点集 */
  path: Vector3Config[];
  /**曲线分段数 */
  divisions: number;
  /**是否等距分段 */
  space: boolean;
}
  • 默认配置
{
  center: false,
  path: [],
  divisions: 36,
  space: true,
}

:::tip 此类型为内部其他曲线几何调用 :::

直线路径几何-LineCurveGeometry

  • 类型LineCurveGeometry
  • 配置类型:
export interface LineCurveGeometryConfig extends CurveGeometryConfig {}
  • 默认配置
{
  center: false;
}

样条曲线路径几何-SplineCurveGeometry

  • 类型SplineCurveGeometry
  • 配置类型:
export interface SplineCurveGeometryConfig extends CurveGeometryConfig {}
  • 默认配置
{
  center: false;
}

二维三次贝塞尔曲线路径几何-CubicBezierCurveGeometry

  • 类型CubicBezierCurveGeometry
  • 配置类型:
export interface CubicBezierCurveGeometryConfig extends CurveGeometryConfig {}
  • 默认配置
{
  center: false;
}

二维二次贝塞尔曲线路径几何-QuadraticBezierCurveGeometry

  • 类型QuadraticBezierCurveGeometry
  • 配置类型:
export interface QuadraticBezierCurveGeometryConfig
  extends CurveGeometryConfig {}
  • 默认配置
{
  center: false;
}

管道几何-TubeGeometry

export interface TubeGeometryConfig extends GeometryConfig {
  /**曲线参数点集 */
  path: Vector3Config[];
  tubularSegments: number;
  radius: number;
  radialSegments: number;
  closed: boolean;
}
  • 默认配置
{
  center: false,
  path: [],
  tubularSegments: 64,
  radius: 1,
  radialSegments: 8,
  closed: false,
}

:::tip 此类型为内部其他管道几何调用 :::

直线管道几何-LineTubeGeometry

  • 类型LineTubeGeometry
  • 配置类型:
export interface LineTubeGeometryConfig extends TubeGeometryConfig {}
  • 默认配置
{
  center: false;
}

曲线管道几何-SplineTubeGeometry

  • 类型SplineTubeGeometry
  • 配置类型:
export interface SplineTubeGeometryConfig extends TubeGeometryConfig {}
  • 默认配置
{
  center: false;
}

形状几何-ShapeGeometry

  • 类型ShapeGeometry
  • 配置类型:
export interface ShapeGeometryConfig extends GeometryConfig {
  /**形状vid标识 */
  shape: string;
  curveSegments: number;
}
  • 默认配置
{
  center: false,
  shape: "",
  curveSegments: 12,
}

挤压几何-ExtrudeGeometry

  • 类型ExtrudeGeometry
  • 配置类型:
export interface ExtrudeGeometryConfig extends GeometryConfig {
  /**挤压形状vid标识 */
  shapes: string;
  options: {
    curveSegments: number;
    steps: number;
    depth: number;
    bevelEnabled: boolean;
    bevelThickness: number;
    bevelSize: number;
    bevelOffset: number;
    bevelSegments: number;
    extrudePath: string;
  };
}
  • 默认配置
{
  center: false,
  shapes: "",
  options: {
    curveSegments: 12,
    steps: 1,
    depth: 1,
    bevelEnabled: true,
    bevelThickness: 0.2,
    bevelSize: 0.1,
    bevelOffset: 0,
    bevelSegments: 3,
    extrudePath: "",
  },
}

路径几何-PathGeometry

  • 类型PathGeometry
  • 配置类型:
export interface PathGeometryConfig extends GeometryConfig {
  /**路径vid标识 */
  path: string;
  space: boolean;
  divisions: number;
}
  • 默认配置
{
  center: false,
  path: "",
  space: false,
  divisions: 36,
}
0.6.12

3 months ago

0.6.10

8 months ago

0.6.11

6 months ago

0.6.9

8 months ago

0.6.8

10 months ago

0.6.7

1 year ago

0.6.6

1 year ago

0.6.5

1 year ago

0.6.4

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.0

1 year ago