21 #include "SheafSystem/barycentric_quad_refiner.h" 23 #include "SheafSystem/assert_contract.h" 24 #include "SheafSystem/error_message.h" 25 #include "SheafSystem/wsv_block.h" 51 ensure(&
policy() == &xpolicy);
124 result = REFINED_ZONE_CT;
186 ensure(result.
ct() > 1);
209 static const string result(
"quad_nodes");
213 ensure(!result.empty());
246 0.5, 0.0, 0.5, 0.0, 0.5, -0.5
248 { 0.0, -0.5, 0.5, 0.5, 0.0, 0.5 },
249 { -0.5, 0.0, -0.5, 0.0, -0.5, 0.5 },
250 { 0.0, 0.5, -0.5, -0.5, 0.0, -0.5 }
385 require(xother != 0);
double chart_point_coord_type
The type of local coordinate in the base space; the scalar type for the local coordinate vector space...
size_type ct() const
The number of items currently in use.
Namespace for fields component of sheaf system.
An abstract field refiner that subdivides a polygon by introducing new vertices into the centers of t...
A field refiner that subdivides a quad into 4 quads by introducing a new vertex in the center of the ...
virtual size_type unrefined_vertex_ct() const
The number of vertices with refinement depth <= unrefined zone depth.
virtual const std::string & zone_type_name() const
The name of the type of zone this creates during refinement.
const field_refinement_policy & policy() const
The refinement policy for this refiner.
virtual bool invariant() const
Class invariant.
Abstract base class with useful features for all objects.
virtual size_type refined_zone_ct() const
The number of refined zones created by this.
virtual const block< size_type > & first_vertex_index() const
The index in _vertex_pos of the first vertex of each new zone; contains number of zones + 1 because f...
virtual ~barycentric_quad_refiner()
Destructor.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
const chart_point_coord_type * local_coordinates_map(size_type xi) const
The map from the local coordinates of refined zone xi t0 the local coordinates of the parent zone...
An abstract policy that determines the conditions under which a zone should be refined.
virtual barycentric_quad_refiner & operator=(const local_field_refiner &xother)
Assignment operator.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
virtual barycentric_quad_refiner * clone() const
Virtual constructor, creates a new instance of the same type as this.
virtual bool is_zone_centered_refiner() const
True if this adds a vertex at the center of the zone.
void reserve_vertex_buffers()
Reserves space in vertex buffers.
An abstract refiner for a field over a local region (primitive cell) in the base space.
bool invariant_check() const
True if invariant checking is enabled.
virtual bool is_ancestor_of(const any *xother) const
Conformance test; true if other conforms to this.
barycentric_quad_refiner()
Default constructor; disabled.
virtual bool invariant() const
Class invariant.
An auto_block with a no-initialization initialization policy.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
Whitespace-separated-value block; A block of objects of type T that can be conveniently initialized b...