KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
#include <point.h>
Public Member Functions | |
Life Cycle | |
Point () | |
Default constructor. More... | |
Point (double NewX, double NewY=0, double NewZ=0) | |
3d constructor. More... | |
Point (Point const &rOtherPoint) | |
Point (CoordinatesArrayType const &rOtherCoordinates) | |
template<class TVectorType > | |
Point (vector_expression< TVectorType > const &rOtherCoordinates) | |
Point (std::vector< double > const &rOtherCoordinates) | |
virtual | ~Point () |
Destructor. More... | |
Operators | |
Point & | operator= (const Point &rOther) |
Assignment operator. More... | |
bool | operator== (const Point &rOther) const |
Operations | |
double | SquaredDistance (const Point &rOtherPoint) const |
This method computes the distance between this point and another one (squared) More... | |
double | Distance (const Point &rOtherPoint) const |
This method computes the distance between this point and another one. More... | |
Input and output | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Public Member Functions inherited from Kratos::array_1d< double, 3 > | |
BOOST_UBLAS_INLINE | array_1d () |
Default constructor. More... | |
BOOST_UBLAS_INLINE | array_1d (size_type array_size) |
BOOST_UBLAS_INLINE | array_1d (size_type array_size, value_type v) |
BOOST_UBLAS_INLINE | array_1d (const std::initializer_list< value_type > &rInitList) |
BOOST_UBLAS_INLINE | array_1d (size_type array_size, const array_type &rdata) |
BOOST_UBLAS_INLINE | array_1d (const array_1d &v) |
BOOST_UBLAS_INLINE | array_1d (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i) const |
BOOST_UBLAS_INLINE reference | operator() (size_type i) |
BOOST_UBLAS_INLINE const_reference | operator[] (size_type i) const |
BOOST_UBLAS_INLINE reference | operator[] (size_type i) |
BOOST_UBLAS_INLINE array_1d & | operator= (const array_1d &v) |
BOOST_UBLAS_INLINE array_1d & | operator= (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE array_1d & | operator+= (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE array_1d & | operator-= (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE array_1d & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE bool | operator== (const array_1d &v) const |
Compares whether this array_1d is equal to the given array_1d. More... | |
KRATOS_CLASS_POINTER_DEFINITION (array_1d) | |
Pointer definition of array_1d. More... | |
BOOST_UBLAS_INLINE const_iterator | find (size_type i) const |
BOOST_UBLAS_INLINE iterator | find (size_type i) |
BOOST_UBLAS_INLINE size_type | size () const |
BOOST_UBLAS_INLINE array_1d & | minus_assign (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE const array_type & | data () const |
BOOST_UBLAS_INLINE array_type & | data () |
BOOST_UBLAS_INLINE const_iterator | begin () const |
BOOST_UBLAS_INLINE iterator | begin () |
BOOST_UBLAS_INLINE const_iterator | end () const |
BOOST_UBLAS_INLINE iterator | end () |
BOOST_UBLAS_INLINE const_reverse_iterator | rbegin () const |
BOOST_UBLAS_INLINE reverse_iterator | rbegin () |
BOOST_UBLAS_INLINE const_reverse_iterator | rend () const |
BOOST_UBLAS_INLINE reverse_iterator | rend () |
BOOST_UBLAS_INLINE void | resize (size_type array_size, bool preserve=true) |
BOOST_UBLAS_INLINE array_1d & | assign_temporary (array_1d &v) |
BOOST_UBLAS_INLINE array_1d & | operator*= (const AT &at) |
BOOST_UBLAS_INLINE array_1d & | plus_assign (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE array_1d & | assign (const boost::numeric::ublas::vector_expression< AE > &ae) |
BOOST_UBLAS_INLINE void | swap (array_1d &v) |
BOOST_UBLAS_INLINE reference | insert_element (size_type i, const_reference t) |
BOOST_UBLAS_INLINE void | erase_element (size_type i) |
BOOST_UBLAS_INLINE void | clear () |
Type Definitions | |
typedef array_1d< double, mDimension > | BaseType |
typedef BaseType | CoordinatesArrayType |
typedef std::size_t | SizeType |
typedef std::size_t | IndexType |
KRATOS_CLASS_POINTER_DEFINITION (Point) | |
Pointer definition of Point. More... | |
Serialization | |
class | Serializer |
Access | |
double | X () const |
double | Y () const |
double | Z () const |
double & | X () |
double & | Y () |
double & | Z () |
CoordinatesArrayType const & | Coordinates () const |
CoordinatesArrayType & | Coordinates () |
static constexpr IndexType | Dimension () |
Additional Inherited Members | |
Public Types inherited from Kratos::array_1d< double, 3 > | |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
typedef double | value_type |
typedef boost::numeric::ublas::type_traits< double >::const_reference | const_reference |
typedef double & | reference |
typedef std::array< double, N > | array_type |
typedef double * | pointer |
typedef array_1d< double, N > | self_type |
typedef const boost::numeric::ublas::vector_reference< const self_type > | const_closure_type |
typedef boost::numeric::ublas::vector_reference< self_type > | closure_type |
typedef self_type | vector_temporary_type |
typedef boost::numeric::ublas::dense_tag | storage_category |
typedef boost::numeric::ublas::reverse_iterator_base< const_iterator > | const_reverse_iterator |
typedef boost::numeric::ublas::reverse_iterator_base< iterator > | reverse_iterator |
Point class.
Point class. Stores coordinates of a point and have some basic operations defined.
typedef array_1d<double, mDimension> Kratos::Point::BaseType |
typedef std::size_t Kratos::Point::IndexType |
typedef std::size_t Kratos::Point::SizeType |
|
inline |
Default constructor.
|
inline |
Copy constructor. Initialize this point with the coordinates of given point.
|
inlineexplicit |
Constructor using coordinates stored in given array. Initialize this point with the coordinates in the array.
|
inlineexplicit |
Constructor using coordinates stored in given array. Initialize this point with the coordinates in the array.
|
inlineexplicit |
Constructor using coordinates stored in given std::vector. Initialize this point with the coordinates in the array.
|
inlinevirtual |
Destructor.
|
inline |
|
inline |
|
inlinestaticconstexpr |
This method computes the distance between this point and another one.
Using norm_2 to take benefic of the SIMD optimization of the library
rOtherPoint | The other point to compute the distance |
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::IndexedPoint, Kratos::IntegrationPoint< TDimension, TDataType, TWeightType >, Kratos::Node, and Kratos::InterfaceObject.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::IndexedPoint, Kratos::IntegrationPoint< TDimension, TDataType, TWeightType >, Kratos::Node, and Kratos::InterfaceObject.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::IndexedPoint, Kratos::IntegrationPoint< TDimension, TDataType, TWeightType >, Kratos::Node, and Kratos::InterfaceObject.
This method computes the distance between this point and another one (squared)
In order to avoid square root operation if faster computation is needed
rOtherPoint | The other point to compute the distance |
|
inline |
|
inline |
Returns X coordinate
|
inline |
Returns Y coordinate
|
inline |
Returns Y coordinate
|
inline |
Returns Z coordinate
|
inline |
Returns Z coordinate
|
friend |