All Frameworks  Class Hierarchy  This Framework  Indexes

SPAblnd Global Function api_preview_blends


outcome api_preview_blends(BODY* blank_body,
BODY*& sheet_body,
ENTITY_LIST const& blend_atts,
ENTITY_LIST& cannot_preview,
AcisOptions* ao= NULL )
Creates a "preview body" containing faces which allow a rough preview of one or more blends.

Role: A single 4-sided face is made up for every edge blend attribute. Vertex blends, entity-entity blends etc. are ignored. However, any setbacks on an edge are respected, so the effect of setbacks on the adjacent edges can be inspected.

The body returned (or faces inserted into it) do NOT form a true valid ACIS body. Each face has a single loop of 4 coedges, with a surface which fits exactly into the face. Every surface is an exact spline and the v parameterization is ALONG the blend, matching the edge parameterization, and the u parameter runs across from 0.0 on the left face to 1.0 on the right. There is NO topological connectivity between faces, indeed they only meet "very approximately". The surfaces may in actual fact contain self-intersections and the like, and should NEVER be handed on to intersectors, silhouette calculations, Booleans and the like. Any algorithms that process these faces MUST be able to cope with any such problems. Note that the v parameter lines are likely to be problematic for certain algorithms that expect strictly "legal" geometry, although the u parameter lines, taken one at a time, so to speak, should be reasonable.

***THE FACES RETURNED ARE VISUALIZATION AIDS ONLY***

The faces only lie "very approximately" on the faces being blended together. Just because a preview face can be constructed DOES NOT MEAN the blend itself will succeed. Actually committing valid topology and geometry to the model is several orders of magnitude harder.

The algorithms are designed for maximum speed, constructing the preview sheet should be orders of magnitude quicker than calculating the final blend. The preview faces are always dumped into the first shell of the first lump of the body, regardless.

Errors: Should not produce errors, though you may get no preview faces.

Limitations: Currently only works for round (constant and variable) blends. Any blend attributes not supported are ignored quietly.

Effect: Read-only

Journal: Available

Parameters:
blank_body
existing body which is being blended.
sheet_body
existing sheet body to dump the preview faces into, or if NULL, a new body is made up and returned.
blend_atts
list of blend attributes to be previewed, or alternatively, the entities (EDGEs etc.) being blended.
cannot_preview
any blends which the algorithm thought it should have been able to preview, but failed, are put in here.
ao
ACIS options.

This object is included in the file: blendapi.hxx

Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.