| 
    World of Rigid Bodies (WoRB)
   
    
   
   | 
  
  
  
 
Represents a MATLAB logical value. More...
#include <mexWoRB.h>
Public Member Functions | |
| Logical (const mxArray *arg, const char *argDesc, bool defaultValue=false) | |
| Constructs the instance from the given MATLAB array of doubles.   | |
| Logical (const mxArray *obj, mwIndex index, const char *fieldName, bool defaultValue=false) | |
| Constructs the instance from the given MATLAB structure field.   | |
| bool | operator! () const | 
| operator bool () const | |
| mxArray * | toMxArray () | 
| Converts the instance to MATLAB logical scalar.   | |
| Logical & | operator= (bool v) | 
| Sets the new value.   | |
Private Member Functions | |
| void | Initialize (const mxArray *arg, const char *argDesc, bool defaultValue) | 
| Initializes the instance from a MATLAB array of doubles.   | |
Private Attributes | |
| bool | value | 
| Mex::Logical::Logical | ( | const mxArray * | arg, | 
| const char * | argDesc, | ||
| bool | defaultValue = false  | 
        ||
| ) |  [inline] | 
        
Constructs the instance from the given MATLAB array of doubles.
Definition at line 415 of file mexWoRB.h.
References Initialize().
        {
            Initialize( arg, argDesc, defaultValue );
        }
| Mex::Logical::Logical | ( | const mxArray * | obj, | 
| mwIndex | index, | ||
| const char * | fieldName, | ||
| bool | defaultValue = false  | 
        ||
| ) |  [inline] | 
        
Constructs the instance from the given MATLAB structure field.
Definition at line 422 of file mexWoRB.h.
References Initialize().
        {
            Initialize( mxGetField( obj, index, fieldName ), fieldName, defaultValue );
        }
| void Mex::Logical::Initialize | ( | const mxArray * | arg, | 
| const char * | argDesc, | ||
| bool | defaultValue | ||
| ) |  [inline, private] | 
        
Initializes the instance from a MATLAB array of doubles.
Definition at line 381 of file mexWoRB.h.
References WoRB::SevereError(), and value.
Referenced by Logical().
        {
            if ( arg == NULL ) {
                value = defaultValue;
                return;
            }
            // Parse value from different argument types
            // int ndim = mxGetNumberOfDimensions( arg );
            mwSize len = mxGetNumberOfElements( arg );
            if ( mxIsLogicalScalar( arg ) && len >= 1 ) 
            {
                value = mxGetLogicals( arg )[0];
                return;
            }
            else if ( mxIsDouble( arg ) && ! mxIsComplex( arg ) && len >= 1 )
            {
                double* data = mxGetPr( arg );
                value = data != NULL && data[0] != 0;
                return;
            }
            // If we couldn't parse logical value, return an error
            WoRB::SevereError( "WoRB:parseLogical:invarg",
                "'%s' must be a logical value or a real number.", 
                argDesc
            );
        }
| Mex::Logical::operator bool | ( | ) |  const [inline] | 
        
| bool Mex::Logical::operator! | ( | ) |  const [inline] | 
        
| Logical& Mex::Logical::operator= | ( | bool | v | ) |  [inline] | 
        
| mxArray* Mex::Logical::toMxArray | ( | ) |  [inline] | 
        
bool Mex::Logical::value [private] | 
        
Definition at line 377 of file mexWoRB.h.
Referenced by Initialize(), operator bool(), operator!(), operator=(), and toMxArray().