# meshcat-shapes
[![Build](https://img.shields.io/github/actions/workflow/status/stephane-caron/meshcat-shapes/build.yml?branch=main)](https://github.com/stephane-caron/meshcat-shapes/actions)
[![Coverage](https://coveralls.io/repos/github/stephane-caron/meshcat-shapes/badge.svg?branch=main)](https://coveralls.io/github/stephane-caron/meshcat-shapes?branch=main)
[![PyPI version](https://img.shields.io/pypi/v/meshcat-shapes)](https://pypi.org/project/meshcat-shapes/)
[![Contributing](https://img.shields.io/badge/PRs-welcome-green.svg)](https://github.com/stephane-caron/meshcat-shapes/tree/main/CONTRIBUTING.md)
Useful shapes to decorate MeshCat scenes.
## Installation
```console
pip install meshcat-shapes
```
## Shapes
| ``meshcat_shapes.frame`` | ``meshcat_shapes.point`` | ``meshcat_shapes.textarea`` |
|--------------------------|--------------------------|-----------------------------|
| <img src="https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/frame.png" width="250"> | <img src="https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/point.png" width="250"> | <img src="https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/textarea.png" width="250"> |
PRs are welcome: open one if you have implemented a shape that can be useful to others.
## Usage
```python
import meshcat
import meshcat_shapes
vis = meshcat.Visualizer().open()
meshcat_shapes.frame(
vis["my_frame"],
axis_length=0.2,
axis_thickness=0.01,
opacity=0.8,
origin_radius=0.02,
)
meshcat_shapes.point(
vis["red_point"],
opacity=0.3,
radius=0.05,
color=0xFF0000,
)
meshcat_shapes.textarea(vis["text"], "super easy")
```
Raw data
{
"_id": null,
"home_page": null,
"name": "meshcat-shapes",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"keywords": "meshcat,shapes,visualization,robotics",
"author": null,
"author_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"download_url": "https://files.pythonhosted.org/packages/04/c1/84d8774ec2309c940813e47c6b2350db6ccfdf3842a536dd7bdcfb680275/meshcat-shapes-0.3.0.tar.gz",
"platform": null,
"description": "# meshcat-shapes\n\n[![Build](https://img.shields.io/github/actions/workflow/status/stephane-caron/meshcat-shapes/build.yml?branch=main)](https://github.com/stephane-caron/meshcat-shapes/actions)\n[![Coverage](https://coveralls.io/repos/github/stephane-caron/meshcat-shapes/badge.svg?branch=main)](https://coveralls.io/github/stephane-caron/meshcat-shapes?branch=main)\n[![PyPI version](https://img.shields.io/pypi/v/meshcat-shapes)](https://pypi.org/project/meshcat-shapes/)\n[![Contributing](https://img.shields.io/badge/PRs-welcome-green.svg)](https://github.com/stephane-caron/meshcat-shapes/tree/main/CONTRIBUTING.md)\n\nUseful shapes to decorate MeshCat scenes.\n\n## Installation\n\n```console\npip install meshcat-shapes\n```\n\n## Shapes\n\n| ``meshcat_shapes.frame`` | ``meshcat_shapes.point`` | ``meshcat_shapes.textarea`` |\n|--------------------------|--------------------------|-----------------------------|\n| <img src=\"https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/frame.png\" width=\"250\"> | <img src=\"https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/point.png\" width=\"250\"> | <img src=\"https://github.com/stephane-caron/meshcat-shapes/raw/main/gallery/textarea.png\" width=\"250\"> |\n\nPRs are welcome: open one if you have implemented a shape that can be useful to others.\n\n## Usage\n\n```python\nimport meshcat\nimport meshcat_shapes\n\nvis = meshcat.Visualizer().open()\n\nmeshcat_shapes.frame(\n vis[\"my_frame\"],\n axis_length=0.2,\n axis_thickness=0.01,\n opacity=0.8,\n origin_radius=0.02,\n)\n\nmeshcat_shapes.point(\n vis[\"red_point\"],\n opacity=0.3,\n radius=0.05,\n color=0xFF0000,\n)\n\nmeshcat_shapes.textarea(vis[\"text\"], \"super easy\")\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Useful shapes to decorate MeshCat scenes.",
"version": "0.3.0",
"split_keywords": [
"meshcat",
"shapes",
"visualization",
"robotics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f9d0823fb550aace4c4f9240192802ea7cc4586e5ec144bdc0888fe927d346cc",
"md5": "8f6e92e8772920d2ec9dd7219b390f5b",
"sha256": "ce85f5383299d981debd6c1ba42f4396172beeb5bd1be01ef6518d5c9639c22e"
},
"downloads": -1,
"filename": "meshcat_shapes-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f6e92e8772920d2ec9dd7219b390f5b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10409,
"upload_time": "2023-01-19T16:39:57",
"upload_time_iso_8601": "2023-01-19T16:39:57.572208Z",
"url": "https://files.pythonhosted.org/packages/f9/d0/823fb550aace4c4f9240192802ea7cc4586e5ec144bdc0888fe927d346cc/meshcat_shapes-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "04c184d8774ec2309c940813e47c6b2350db6ccfdf3842a536dd7bdcfb680275",
"md5": "d78dd529aced37f11caa2214b964f04f",
"sha256": "814bc2d1dd09692abe98aeef858bd6406980e185eefa5e0650d5a41c2dba600b"
},
"downloads": -1,
"filename": "meshcat-shapes-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "d78dd529aced37f11caa2214b964f04f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 45138,
"upload_time": "2023-01-19T16:40:00",
"upload_time_iso_8601": "2023-01-19T16:40:00.383928Z",
"url": "https://files.pythonhosted.org/packages/04/c1/84d8774ec2309c940813e47c6b2350db6ccfdf3842a536dd7bdcfb680275/meshcat-shapes-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-19 16:40:00",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "meshcat-shapes"
}