0.16.0 • Published 10 months ago

poly-extrude v0.16.0

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

poly-extrude

Extrude polygons/polylines. Born in maptalks.three project

Examples

npm.io

npm.io

npm.io npm.io npm.io npm.io npm.io npm.io npm.io npm.io npm.io

npm.io npm.io

Install

NPM

npm i poly-extrude

CDN

<script type="text/javascript" src="https://unpkg.com/poly-extrude/dist/poly-extrude.js"></script>

Use

  import {
      extrudePolygons,
      extrudePolylines,
      cylinder,
      expandPaths,
      extrudeSlopes,
      expandTubes,
      plane
  } from 'poly-extrude';

  //if you use cdn,the namespace is polyextrude

  //   const {
  //       extrudePolygons,
  //       extrudePolylines
  //   } = window.polyextrude;

  const polygons = [
      //polygon
      [
          //outring
          [
              [x, y],
              [x, y],
              ...........
          ],
          //holes
          [
              [x, y],
              [x, y], ...........
          ],
          ........

      ],
      //other polygons
      ......
  ];

  const polylines = [
      // polyline
      [
          [x, y],
          [x, y],
          ...........
      ],
      //polyline
      [
          [x, y],
          [x, y],
          ...........
      ],
  ];

  const result = extrudePolygons(polygons, {
      depth: 2
  });
  const {
      positon,
      normal,
      uv,
      indices
  } = result;
  //do something

API

npm.io

extrudePolygons(polygons, options)

  • polygons
  • options.depth
  • options.top Whether to display the top
  const result = extrudePolygons(polygons, {
      depth: 2
  });
  const {
      positon,
      normal,
      uv,
      indices
  } = result;
  //do something

npm.io

extrudePolylines(lines, options)

  • lines
  • options.depth
  • options.lineWidth
  • options.bottomStickGround Is the bottom attached to the ground
  • options.pathUV generate Path UV

extrudePolylines pathUV demo

   const result = extrudePolylines(polylines, {
       depth: 2,
       lineWidth: 2
   });
   const {
       positon,
       normal,
       uv,
       indices
   } = result;
   //do something

npm.io

cylinder(center, options)

  • center
  • options.radius
  • options.height
  • options.radialSegments
const center = [0, 0];
const result = cylinder(center, {

    radius: 1,
    height: 2,
    radialSegments: 6

});
const {
    positon,
    normal,
    uv,
    indices

} = result;
//do something

npm.io

expandPaths(lines, options)

  • lines
  • options.lineWidth
const result = expandPaths(polylines, {

    cornerRadius: 0.5,
    lineWidth: 2

});
const {

    positon,
    normal,
    uv,
    indices

} = result;
//do something

npm.io

extrudeSlopes(lines, options)

  • lines
  • options.depth
  • options.lineWidth
  • options.side Which side serves as the slope, 'left' or 'right'
  • options.sideDepth slope depth
  • options.bottomStickGround Is the bottom attached to the ground
  • options.pathUV generate Path UV

extrudeSlopes pathUV demo

const result = extrudeSlopes(polylines, {

    depth: 1,
    side: 'left',
    sideDepth: 0,
    lineWidth: 2

});
const {

    positon,
    normal,
    uv,
    indices

} = result;
//do something

npm.io

expandTubes(lines, options)

  • lines
  • options.radius
  • options.radialSegments
const result = expandTubes(polylines, {

    radius: 1,
    radialSegments: 8

});
const {

    positon,
    normal,
    uv,
    indices

} = result;
//do something

npm.io

plane(width, height,devideW,devideH)

  • width
  • height
  • devideW
  • devideH

plane demo
custom terrain demo

const result = plane(100, 100, 10, 10);
const {

    positon,
    normal,
    uv,
    indices

} = result;
//do something
0.11.0

10 months ago

0.12.0

10 months ago

0.13.0

10 months ago

0.14.0

10 months ago

0.15.0

10 months ago

0.16.0

10 months ago

0.10.0

10 months ago

0.9.0

10 months ago

0.8.0

10 months ago

0.5.0

11 months ago

0.4.0

11 months ago

0.7.0

11 months ago

0.6.0

11 months ago

0.3.0

2 years ago

0.1.0

3 years ago

0.2.0

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago