Simbody
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes

SimTK::MatrixOutline Class Reference

Matrix "outline" refers to the characteristic relationship between the number of rows and columns of a matrix, without necessarily specifying the absolute dimensions. More...

#include <MatrixCharacteristics.h>

List of all members.

Classes

struct  Mask

Public Types

enum  Outline {
  NoOutline = 0x0000, Scalar = 0x0001, Column = 0x0002, Row = 0x0004,
  Square = 0x0008, Wide = 0x0010, Tall = 0x0020, Rectangular = 0x0040
}
typedef unsigned short OutlineMask

Public Member Functions

std::string name () const
 MatrixOutline ()
 Default constructor produces an object containing no outline specification.
 MatrixOutline (Outline outline)
 This is an implicit conversion from the Outline enum to a MatrixOutline object.
MatrixOutlinesetToNone ()
 Set the outline back to its default-constructed value of "none".
Mask mask () const
 When "this" outline is used as a commitment, it represents a mask of acceptable outlines.
bool isSizeOK (int m, int n) const
 Determine if the proposed shape satisfies this outline.
void getMinimumSize (int &m, int &n) const
 Return the minimum shape that will satisfy this outline.
Outline getOutline () const
 Return the outline value stored in this MatrixOutline object.

Static Public Member Functions

static const char * name (Outline)
static OutlineMask calcMask (Outline)
 Compute a mask of acceptable Outline values given a particular value specified as a commitment.
static MatrixOutline calcFromSize (int m, int n)
 Determine the outline from given actual dimensions.

Static Public Attributes

static const OutlineMask AnyOutline = 0x007fU
static const OutlineMask UncommittedOutline = 0xffffU

Detailed Description

Matrix "outline" refers to the characteristic relationship between the number of rows and columns of a matrix, without necessarily specifying the absolute dimensions.

There are seven possible outline attributes:

A matrix handle with no outline commitment can hold a general (rectangular) matrix, which of course includes all the other outlines as well. Vector handles are always committed to column outline, RowVector handles to row outline. Scalar matrices are also rows, columns, and square and some rows and columns are square (if they are 1x1).

Note that certain outlines imply fixed sizes of one or both dimensions.


Member Typedef Documentation

typedef unsigned short SimTK::MatrixOutline::OutlineMask

Member Enumeration Documentation

Enumerator:
NoOutline 
Scalar 
Column 
Row 
Square 
Wide 
Tall 
Rectangular 

Constructor & Destructor Documentation

SimTK::MatrixOutline::MatrixOutline ( ) [inline]

Default constructor produces an object containing no outline specification.

If used as a commitment it won't accept any outline!

SimTK::MatrixOutline::MatrixOutline ( Outline  outline) [inline]

This is an implicit conversion from the Outline enum to a MatrixOutline object.


Member Function Documentation

static const char* SimTK::MatrixOutline::name ( Outline  ) [static]
std::string SimTK::MatrixOutline::name ( ) const [inline]
MatrixOutline& SimTK::MatrixOutline::setToNone ( ) [inline]

Set the outline back to its default-constructed value of "none".

static OutlineMask SimTK::MatrixOutline::calcMask ( Outline  ) [static]

Compute a mask of acceptable Outline values given a particular value specified as a commitment.

For example, if the commitment is "Wide" then Square, Row, and Scalar outlines are also acceptable.

Mask SimTK::MatrixOutline::mask ( ) const [inline]

When "this" outline is used as a commitment, it represents a mask of acceptable outlines.

Calculate and return that mask.

bool SimTK::MatrixOutline::isSizeOK ( int  m,
int  n 
) const

Determine if the proposed shape satisfies this outline.

void SimTK::MatrixOutline::getMinimumSize ( int &  m,
int &  n 
) const

Return the minimum shape that will satisfy this outline.

static MatrixOutline SimTK::MatrixOutline::calcFromSize ( int  m,
int  n 
) [static]

Determine the outline from given actual dimensions.

Outline SimTK::MatrixOutline::getOutline ( ) const [inline]

Return the outline value stored in this MatrixOutline object.


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines