class MappingCartesian : public Mapping<dim,spacedim>
{
public:
-private:
+
+ // for documentation, see the Mapping base class
+ virtual
+ Mapping<dim, spacedim> *clone () const;
/**
- * @name Interface with FEValues
- * @{
+ * Always returns @p true because MappingCartesian preserves vertex
+ * locations.
*/
+ bool preserves_vertex_locations () const;
- // documentation can be found in Mapping::get_data()
- virtual
- typename Mapping<dim, spacedim>::InternalDataBase *
- get_data (const UpdateFlags,
- const Quadrature<dim> &quadrature) const;
-
- // documentation can be found in Mapping::get_face_data()
- virtual
- typename Mapping<dim, spacedim>::InternalDataBase *
- get_face_data (const UpdateFlags flags,
- const Quadrature<dim-1>& quadrature) const;
+ /**
+ * @name Mapping points between reference and real cells
+ * @{
+ */
- // documentation can be found in Mapping::get_subface_data()
+ // for documentation, see the Mapping base class
virtual
- typename Mapping<dim, spacedim>::InternalDataBase *
- get_subface_data (const UpdateFlags flags,
- const Quadrature<dim-1>& quadrature) const;
+ Point<spacedim>
+ transform_unit_to_real_cell (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const Point<dim> &p) const;
- // documentation can be found in Mapping::fill_fe_values()
+ // for documentation, see the Mapping base class
virtual
- CellSimilarity::Similarity
- fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const CellSimilarity::Similarity cell_similarity,
- const Quadrature<dim> &quadrature,
- const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
- internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
-
- // documentation can be found in Mapping::fill_fe_face_values()
- virtual void
- fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const Quadrature<dim-1> &quadrature,
- const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
- internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
-
- // documentation can be found in Mapping::fill_fe_subface_values()
- virtual void
- fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const unsigned int face_no,
- const unsigned int subface_no,
- const Quadrature<dim-1> &quadrature,
- const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
- internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
+ Point<dim>
+ transform_real_to_unit_cell (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const Point<spacedim> &p) const;
/**
* @}
*/
+ /**
+ * @name Functions to transform tensors from reference to real coordinates
+ * @{
+ */
+
+ // for documentation, see the Mapping base class
virtual void
transform (const VectorSlice<const std::vector<Tensor<1,dim> > > input,
VectorSlice<std::vector<Tensor<1,spacedim> > > output,
const typename Mapping<dim,spacedim>::InternalDataBase &internal,
const MappingType type) const;
+ // for documentation, see the Mapping base class
virtual void
transform (const VectorSlice<const std::vector<DerivativeForm<1, dim,spacedim> > > input,
VectorSlice<std::vector<Tensor<2,spacedim> > > output,
const typename Mapping<dim,spacedim>::InternalDataBase &internal,
const MappingType type) const;
+ // for documentation, see the Mapping base class
virtual
void
transform (const VectorSlice<const std::vector<Tensor<2, dim> > > input,
const typename Mapping<dim,spacedim>::InternalDataBase &internal,
const MappingType type) const;
+ // for documentation, see the Mapping base class
virtual
void
transform (const VectorSlice<const std::vector< DerivativeForm<2, dim, spacedim> > > input,
const typename Mapping<dim,spacedim>::InternalDataBase &internal,
const MappingType type) const;
+ // for documentation, see the Mapping base class
virtual
void
transform (const VectorSlice<const std::vector<Tensor<3, dim> > > input,
const typename Mapping<dim,spacedim>::InternalDataBase &internal,
const MappingType type) const;
- virtual Point<spacedim>
- transform_unit_to_real_cell (
- const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const Point<dim> &p) const;
-
/**
- * Transforms the point @p p on the real cell to the point @p p_unit on the
- * unit cell @p cell and returns @p p_unit.
- *
- * Uses Newton iteration and the @p transform_unit_to_real_cell function.
+ * @}
*/
- virtual Point<dim>
- transform_real_to_unit_cell (
- const typename Triangulation<dim,spacedim>::cell_iterator &cell,
- const Point<spacedim> &p) const;
- /**
- * Return a pointer to a copy of the present object. The caller of this copy
- * then assumes ownership of it.
- */
- virtual
- Mapping<dim, spacedim> *clone () const;
+private:
/**
- * Always returns @p true because MappingCartesian preserves vertex
- * locations.
+ * @name Interface with FEValues
+ * @{
*/
- bool preserves_vertex_locations () const;
-protected:
/**
* Storage for internal data of the mapping. See Mapping::InternalDataBase
* for an extensive description.
std::vector<Point<dim> > quadrature_points;
};
+ // documentation can be found in Mapping::requires_update_flags()
+ virtual
+ UpdateFlags
+ requires_update_flags (const UpdateFlags update_flags) const;
+
+ // documentation can be found in Mapping::get_data()
+ virtual
+ typename Mapping<dim, spacedim>::InternalDataBase *
+ get_data (const UpdateFlags,
+ const Quadrature<dim> &quadrature) const;
+
+ // documentation can be found in Mapping::get_face_data()
+ virtual
+ typename Mapping<dim, spacedim>::InternalDataBase *
+ get_face_data (const UpdateFlags flags,
+ const Quadrature<dim-1>& quadrature) const;
+
+ // documentation can be found in Mapping::get_subface_data()
+ virtual
+ typename Mapping<dim, spacedim>::InternalDataBase *
+ get_subface_data (const UpdateFlags flags,
+ const Quadrature<dim-1>& quadrature) const;
+
+ // documentation can be found in Mapping::fill_fe_values()
+ virtual
+ CellSimilarity::Similarity
+ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const CellSimilarity::Similarity cell_similarity,
+ const Quadrature<dim> &quadrature,
+ const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
+ internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
+
+ // documentation can be found in Mapping::fill_fe_face_values()
+ virtual void
+ fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const Quadrature<dim-1> &quadrature,
+ const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
+ internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
+
+ // documentation can be found in Mapping::fill_fe_subface_values()
+ virtual void
+ fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
+ const unsigned int face_no,
+ const unsigned int subface_no,
+ const Quadrature<dim-1> &quadrature,
+ const typename Mapping<dim,spacedim>::InternalDataBase &internal_data,
+ internal::FEValues::MappingRelatedData<dim,spacedim> &output_data) const;
+
+ /**
+ * @}
+ */
+
+
+
/**
* Do the computation for the <tt>fill_*</tt> functions.
*/
std::vector<Point<dim> > &quadrature_points,
std::vector<Point<dim> > &normal_vectors) const;
-private:
- // documentation can be found in Mapping::requires_update_flags()
- virtual
- UpdateFlags
- requires_update_flags (const UpdateFlags update_flags) const;
-
/**
* Value to indicate that a given face or subface number is invalid.
*/
/*@}*/
-/* -------------- declaration of explicit specializations ------------- */
-
-#ifndef DOXYGEN
-
-template <int dim, int spacedim>
-inline
-bool
-MappingCartesian<dim,spacedim>::preserves_vertex_locations () const
-{
- return true;
-}
-
-#endif // DOXYGEN
-
DEAL_II_NAMESPACE_CLOSE
#endif