Open Search
    Poly< T > Class Template Reference

    #include <simplemesh.h>

    Detailed Description

    template<typename T>
    class maxon::Poly< T >

    Template class for simple triangles/quadrangles. The class stores 4 indices. In case of a quadrangle the third and fourth are identical.

    Public Member Functions

     Poly ()
     
     Poly (ENUM_DONT_INITIALIZE)
     
     Poly (const T &av, const T &bv, const T &cv)
     
     Poly (const T &av, const T &bv, const T &cv, const T &dv)
     
     Poly (const Poly &src)
     
     MAXON_OPERATOR_COPY_ASSIGNMENT (Poly)
     
    T & operator[] (Int index)
     
    const T & operator[] (Int index) const
     
    Bool IsTriangle () const
     
    Int FindCornerIndex (const T &value) const
     
    COMPARERESULT Compare (const Poly< T > &other) const
     
    Int FindEdge (const T &value1, const T &value2) const
     
    void GetEdgeValues (Int edge, T &av, T &bv) const
     
    Int GetMemorySize () const
     
     MAXON_OPERATOR_EQUALITY_HASHCODE (Poly, a, b, c, d)
     
    String ToString (const FormatStatement *formatStatement=nullptr) const
     
    const Block< const T > ToBlock () const
     

    Static Public Member Functions

    static Result< void > DescribeIO (const DataSerializeInterface &stream)
     

    Public Attributes

    a
     
    b
     
    c
     
    d
     

    Constructor & Destructor Documentation

    ◆ Poly() [1/5]

    Poly ( )

    ◆ Poly() [2/5]

    Poly ( ENUM_DONT_INITIALIZE  )
    explicit

    ◆ Poly() [3/5]

    Poly ( const T &  av,
    const T &  bv,
    const T &  cv 
    )

    ◆ Poly() [4/5]

    Poly ( const T &  av,
    const T &  bv,
    const T &  cv,
    const T &  dv 
    )

    ◆ Poly() [5/5]

    Poly ( const Poly< T > &  src)

    Member Function Documentation

    ◆ MAXON_OPERATOR_COPY_ASSIGNMENT()

    MAXON_OPERATOR_COPY_ASSIGNMENT ( Poly< T >  )

    ◆ operator[]() [1/2]

    T& operator[] ( Int  index)

    ◆ operator[]() [2/2]

    const T& operator[] ( Int  index) const

    ◆ IsTriangle()

    Bool IsTriangle ( ) const

    ◆ FindCornerIndex()

    Int FindCornerIndex ( const T &  value) const

    ◆ Compare()

    COMPARERESULT Compare ( const Poly< T > &  other) const

    ◆ FindEdge()

    Int FindEdge ( const T &  value1,
    const T &  value2 
    ) const

    ◆ GetEdgeValues()

    void GetEdgeValues ( Int  edge,
    T &  av,
    T &  bv 
    ) const

    ◆ GetMemorySize()

    Int GetMemorySize ( ) const

    ◆ MAXON_OPERATOR_EQUALITY_HASHCODE()

    MAXON_OPERATOR_EQUALITY_HASHCODE ( Poly< T >  ,
    a  ,
    b  ,
    c  ,
    d   
    )

    ◆ ToString()

    String ToString ( const FormatStatement formatStatement = nullptr) const

    ◆ ToBlock()

    const Block<const T> ToBlock ( ) const

    ◆ DescribeIO()

    static Result<void> DescribeIO ( const DataSerializeInterface stream)
    static

    Describe all elements of this class for I/O operations.

    Parameters
    [in]streamThe stream that is used to register the class members.
    Returns
    OK on success.

    Member Data Documentation

    ◆ a

    T a

    ◆ b

    T b

    ◆ c

    T c

    ◆ d

    T d