![]() |
Factory for constructing a PatchTable from a TopologyRefiner. More...
#include <patchTableFactory.h>
Classes | |
struct | Options |
Public options for the PatchTable factory. More... | |
struct | PatchFaceTag |
Public Types | |
typedef std::vector< PatchFaceTag > | PatchTagVector |
Static Public Member Functions | |
static PatchTable * | Create (TopologyRefiner const &refiner, Options options=Options()) |
Instantiates a PatchTable from a client-provided TopologyRefiner. More... | |
Factory for constructing a PatchTable from a TopologyRefiner.
Definition at line 43 of file patchTableFactory.h.
typedef std::vector<PatchFaceTag> PatchTagVector |
Definition at line 189 of file patchTableFactory.h.
|
static |
Instantiates a PatchTable from a client-provided TopologyRefiner.
A PatchTable can be constructed from a TopologyRefiner that has been either adaptively or uniformly refined. In both cases, the resulting patches reference vertices in the various refined levels by index, and those indices accumulate with the levels in different ways.
For adaptively refined patches, patches are defined at different levels, including the base level, so the indices of patch vertices include vertices from all levels.
For uniformly refined patches, all patches are completely defined within the last level. There is often no use for intermediate levels and they can usually be ignored. Indices of patch vertices might therefore be expected to be defined solely within the last level. While this is true for face-varying patches, for historical reasons it is not the case for vertex and varying patches. Indices for vertex and varying patches include the base level in addition to the last level while indices for face-varying patches include only the last level.
refiner | TopologyRefiner from which to generate patches |
options | Options controlling the creation of the table |