41 #ifndef DTK_POINTIMPL_HPP 42 #define DTK_POINTIMPL_HPP 45 #include "DTK_Types.hpp" 47 #include <Teuchos_Array.hpp> 48 #include <Teuchos_ArrayView.hpp> 49 #include <Teuchos_Tuple.hpp> 76 class PointImpl :
public BasicGeometryEntityImpl
83 PointImpl(
const EntityId global_id,
const int owner_rank,
84 const Teuchos::Array<double> &coordinates,
85 const Teuchos::Array<int> &block_ids,
86 const Teuchos::Array<int> &boundary_ids );
92 getCoordinates(
const Teuchos::ArrayView<double> &coordinates )
const;
99 int ownerRank()
const override;
102 int topologicalDimension()
const override;
105 virtual int physicalDimension()
const override;
108 void boundingBox( Teuchos::Tuple<double, 6> &bounds )
const override;
111 bool inBlock(
const int block_id )
const override;
114 bool onBoundary(
const int boundary_id )
const override;
117 std::string description()
const override 119 return std::string(
"Basic Geometry Point" );
123 void describe( Teuchos::FancyOStream &out,
124 const Teuchos::EVerbosityLevel verb_level )
const override;
127 double measure()
const override;
130 void centroid(
const Teuchos::ArrayView<double> ¢roid )
const override;
134 bool mapToReferenceFrame(
135 const Teuchos::ArrayView<const double> &point,
136 const Teuchos::ArrayView<double> &reference_point )
const override;
140 bool checkPointInclusion(
const double tolerance,
141 const Teuchos::ArrayView<const double>
142 &reference_point )
const override;
145 void mapToPhysicalFrame(
146 const Teuchos::ArrayView<const double> &reference_point,
147 const Teuchos::ArrayView<double> &point )
const override;
157 Teuchos::Array<int> d_block_ids;
160 Teuchos::Array<int> d_boundary_ids;
164 Teuchos::Array<double> d_coordinates;
173 #endif // end DTK_POINTIMPL_HPP BasicGeometryEntityImpl declaration.
unsigned long int EntityId
Entity id type.