Name

bot — Perform operations on a Bag of Triangles (BoT) primitive.

Synopsis

bot [-v] [-V] [-C [0-255|0-255|0-255]] {subcommand} {subcommand arguments}

check { degen_faces | extra_edges | flipped_edges | open_edges | solid } {objname}

chull {input_bot} {output_bot}

decimate [-f #] [-e #] {input_bot} {output_bot}

extrude {input_bot} {output_bot}

flip {objname}

get { faces | minEdge | maxEdge | orientation | type | vertices } {objname}

isect {objname} {objname2}

remesh {input_bot} {output_bot}

set { orientation | type } {objname} {value}

smooth [-c [0|1|2]] [-d [0|1|2]] [-e #] [-E #] [-I #] {input_bot} {output_bot}

split {objname}

stat {objname}

subd [-A [1|2|3|4|5]] [-l #] {input_bot} {output_bot}

sync {objname}

DESCRIPTION

The bot command allows the user to initiate and number of subcommands on BoT primitives. The -v command turns on verbose output. The -V command visualizes the results. The -C command sets the RGB plotting color.

SUBCOMMANDS

check

Performs the requested check on the provided solid. Checks are degen_faces, extra_edges, flipped_edges, open_edges, or solid. The command will return a 1 (if the specified check finds an issue) or 0.

chull

Generates the BoT's convex hull and store it in an object.

decimate

Decimates the BoT. The default error metric is Quadric.

-f #

Specifies the features size (implies use of GCT decimater)

-e #

Specifies the maximum allowed error introduced by decimation (OpenMesh).

extrude

Generates an ARB6 representation of the specified plate mode BoT object

flip

Flips the BoT triangle normal directions (turns the BoT "inside out"). This will also change the handedness of of the BoT, if set. So a right-handed (counter-clockwise) BoT will become a left-handed (clockwise) BoT. An unoriented BoT's orientation will not change.

get

Returns the requested parameter of the provided BoT solid. Valid parameters are faces, minEdge, maxEdge, orientation, type, or vertices.

isect

Tests if the two provided BoTs intersect (work in progress).

remesh

Creates a new meshed version of the provided object.

set

Sets the specified property of the provided bot. Properties that can be set are orientation and type. Potential values for orientation are none (no), ccw (rh), or cw (lh). Potential values for type are surface, solid, plate, or plate_nocos.

smooth

Smooths the BoT using OpenMesh's Jacobi Laplace smoother.

-c [0|1|2]

Specifies the continuity. The default value is 0, meaning shape is continuous, but not the tangent. A value of 1 means the shape and tangent are continuous, and a value of 2 preserves curvature.

-d [0|1|2]

Specifies the direction. The default is 0,smoothing in tangential direction. A value of 1 smooths in normal direction, and a value of 2 smooths in both tangential and normal directions.

-e #

Specifies the max local error.

-E #

Specifies the max absolute error.

-I #

Specifies the iterations for smoothing.

split

Splits the provided BoT into separate BoTs made of disjointed sections.

stat

Returns information about the provided BoT.

subd

Subdivides the provided BoT.

-A [1|2|3|4|5]

Specifies the algorithm used to subdivide the BoT. The default is 1 which specifies the loop algorithm. A value of 2 specfies the sqrt3 algorithm, a value of 3 specifies the sqrt3 interpolating algorithm, a value of 4 specifies modified the butterfly algorithm, and a value of 5 specifies the midpoint alorithm.

-l #

Specifies the level of subdivision refinement iterations. Note that the number of triangles generated grows very rapidly with increasing iteration counts - it is recommended that users start with small refinements on the target bot to get a feel for the tradeoff between triangle count and smoothness.

sync

Synchronizes connected BoT triangle orientations.

EXAMPLES

Example 1. Set the orientation of a BoT to right-hand

mged> bot set orientation bot_solid.s rh

Sets the orientation of solid bot_solid.s to right-handed (counter-clockwise).



Example 2. Return the orientation of a solid.

mged> bot get orientation bot_solid.s

Returns the orientation of bot_solid.s. Note that this will return ccw (right-handed), cw (left-handed) or none (unoriented).



Example 3. Return information of a solid.

mged> bot stat bot_solid.s

Returns information about bot_solid.s.



AUTHOR

BRL-CAD Team

BUG REPORTS

Reports of bugs or problems should be submitted via electronic mail to