NAMD
Public Member Functions | Protected Attributes | List of all members
msm::IndexRange Class Reference

#include <MsmMap.h>

Inheritance diagram for msm::IndexRange:
msm::Grid< C1Matrix > msm::Grid< C1Vector > msm::Grid< Float > msm::Grid< msm::BlockDiagram > msm::Grid< Mtype > msm::Grid< Vtype > msm::Grid< T > msm::GridFixed< T, N >

Public Member Functions

 IndexRange ()
 
void set (int pia, int pni, int pja, int pnj, int pka, int pnk)
 
void setbounds (int pia, int pib, int pja, int pjb, int pka, int pkb)
 
int ia () const
 
int ib () const
 
int ja () const
 
int jb () const
 
int ka () const
 
int kb () const
 
int ni () const
 
int nj () const
 
int nk () const
 
int nn () const
 
Ivec lower () const
 
Ivec extent () const
 
int operator<= (const IndexRange &n)
 

Protected Attributes

Ivec nlower
 
Ivec nextent
 

Detailed Description

Definition at line 423 of file MsmMap.h.

Constructor & Destructor Documentation

msm::IndexRange::IndexRange ( )
inline

Member Function Documentation

Ivec msm::IndexRange::extent ( ) const
inline
int msm::IndexRange::ia ( ) const
inline
int msm::IndexRange::ib ( ) const
inline
int msm::IndexRange::ja ( ) const
inline
int msm::IndexRange::jb ( ) const
inline
int msm::IndexRange::ka ( ) const
inline
int msm::IndexRange::kb ( ) const
inline
Ivec msm::IndexRange::lower ( ) const
inline

Definition at line 444 of file MsmMap.h.

References nlower.

Referenced by msm::GridFixed< T, N >::init(), msm::Grid< Vtype >::init(), and GridMsg::put().

444 { return nlower; }
int msm::IndexRange::ni ( ) const
inline
int msm::IndexRange::nj ( ) const
inline
int msm::IndexRange::nk ( ) const
inline

Definition at line 442 of file MsmMap.h.

References msm::Ivec::k, and nextent.

Referenced by ComputeMsmMgr::initialize(), and ComputeMsmMgr::initialize_create().

442 { return nextent.k; }
int k
Definition: MsmMap.h:411
Ivec nextent
Definition: MsmMap.h:459
int msm::IndexRange::nn ( ) const
inline
int msm::IndexRange::operator<= ( const IndexRange n)
inline

Definition at line 446 of file MsmMap.h.

References ia(), ib(), ja(), jb(), ka(), and kb().

446  {
447  // true if this IndexRange fits inside n
448  return ( ia() >= n.ia() && ib() <= n.ib() &&
449  ja() >= n.ja() && jb() <= n.jb() &&
450  ka() >= n.ka() && kb() <= n.kb() );
451  }
int ka() const
Definition: MsmMap.h:438
int ia() const
Definition: MsmMap.h:434
int kb() const
Definition: MsmMap.h:439
int jb() const
Definition: MsmMap.h:437
int ib() const
Definition: MsmMap.h:435
int ja() const
Definition: MsmMap.h:436
void msm::IndexRange::set ( int  pia,
int  pni,
int  pja,
int  pnj,
int  pka,
int  pnk 
)
inline

Definition at line 426 of file MsmMap.h.

References ASSERT, nextent, and nlower.

Referenced by msm::Map::indexRangeOfBlockFold(), msm::GridFixed< T, N >::set(), msm::Grid< Vtype >::set(), and setbounds().

426  {
427  ASSERT(pni >= 0 && pnj >= 0 && pnk >= 0);
428  nlower = Ivec(pia, pja, pka);
429  nextent = Ivec(pni, pnj, pnk);
430  }
#define ASSERT(expr)
Definition: MsmMap.h:68
Ivec nextent
Definition: MsmMap.h:459
void msm::IndexRange::setbounds ( int  pia,
int  pib,
int  pja,
int  pjb,
int  pka,
int  pkb 
)
inline

Definition at line 431 of file MsmMap.h.

References set().

Referenced by msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), msm::GridFixed< T, N >::setbounds(), msm::Grid< Vtype >::setbounds(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

431  {
432  set(pia, pib-pia+1, pja, pjb-pja+1, pka, pkb-pka+1);
433  }
void set(int pia, int pni, int pja, int pnj, int pka, int pnk)
Definition: MsmMap.h:426

Member Data Documentation

Ivec msm::IndexRange::nextent
protected
Ivec msm::IndexRange::nlower
protected

The documentation for this class was generated from the following file: