IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]

Chapter 12. Working with Data Model Objects

Partial Table-of-Contents

  • 12.1 Field Class
  • 12.2 Group Class
  • Generic Operations
  • Series Groups
  • MultiGrid Groups
  • Composite Fields
  • Parts
  • 12.3 Array Class
  • Generic Operations
  • Irregular Arrays
  • String List Routines
  • Array Handling
  • Creating Positions and Connections Grids
  • Regular Arrays
  • Path Arrays
  • Product Arrays
  • Mesh Arrays
  • Constant Arrays
  • 12.4 String Class
  • 12.5 Private Class
  • 12.6 Printing Objects
  • 12.7 Field Construction
  • Points and Dependent Data
  • Connections
  • Standard Components
  • 12.8 Extracting Module Parameters
  • 12.9 Creating Simple Data Explorer Objects
  • 12.10 Component Manipulation
  • 12.11 Data Import and Export
  • Data Explorer Format Files
  • netCDF Data

  • This chapter describes the programming interface for creating and manipulating the basic Objects of the Data Explorer data model (some Objects are discussed in later chapters). For a brief summary of the data model, see Chapter 1. "Overview". For a detailed description, see Chapter 3. "Understanding the Data Model" in IBM Visualization Data Explorer User's Guide.

    Data Explorer is an object-oriented graphical application. Its objects are data structures in global memory, they are passed by reference, and their contents are private to the implementation. See Table 1.

    Table 1. Data Explorer Objects
    The first column shows the hierarchical relationship of the Objects to one another. For subclasses  Field  through  Private , see 12.1 , "Field Class" through 12.5 , "Private Class" in this chapter; for  Interpolator , see Chapter 14. "Data Processing"; and for the remainder, see Chapter 16. "Rendering".
    Type Description Class
    Object Object Class CLASS_OBJECT
      Field Data sampled on a regular or irregular grid CLASS_FIELD
      Group Collections of Objects CLASS_GROUP
        Series Time (or other) series CLASS_SERIES
        Multigrid Group of Fields to be treated as one Field CLASS_MULTIGRID
        Composite Field Group of Fields to be treated as one Field CLASS_COMPOSITEFIELD
      Array Dynamic Arrays of data such as points CLASS_ARRAY
        Regular Array One-dimensional series of evenly spaced points CLASS_REGULARARRAY
        Path Array One-dimensional series of connected line segments CLASS_PATHARRAY
        Product Array Regular or semi-regular grid positions CLASS_PRODUCTARRAY
        Mesh Array Regular or semi-regular grid connections CLASS_MESHARRAY
        Constant Array Array with a constant value CLASS_CONSTANTARRAY
      String Object containing a string CLASS_STRING
      Private Object pointing to private user data CLASS_PRIVATE
      Interpolator Used to query Fields for data values CLASS_INTERPOLATOR
      Xform Transformation matrix applied to an Object CLASS_FORM
      Screen Object aligned to the screen CLASS_SCREEN
      Clipped One Object clipped by another CLASS_CLIPPED
      Camera Viewpoint, viewport, resolution CLASS_CAMERA
      Light Lights CLASS_LIGHT
    Note: Any Group other than the three types listed here is a generic Group.
    Any Array other than the five types listed here is an irregular Array.

    12.1 Field Class

    Each Field has some number of named components. Each component has a value (usually an Array) and some number of attributes, whose values are often strings or numbers. However, in the data model both components and attributes can be any Object. The defined components and attributes are listed in Chapter 3. "Understanding the Data Model" in IBM Visualization Data Explorer User's Guide.

    Field DXNewField()

    Creates a new Field Object. See Note on Use, and DXNewField.

    Field DXSetComponentValue()

    Adds a component to a Field. See Note on Use, and DXSetComponentValue.

    Field DXSetComponentAttribute()

    Adds or removes a named attribute from a component of a Field. See DXSetComponentAttribute.

    Object DXGetComponentValue()

    Returns a specified component of a Field. See Note on Use See DXGetComponentValue.

    Note on Use

    The following code segment illustrates how to make a component of one Field also a component of another Field:

        f = DXNewField();
        if (!f)
           return ERROR;
        c = DXGetComponentValue(oldfield, "positions");
        if (!DXSetComponentValue(f, "positions", c))
           return ERROR;

    Object DXGetComponentAttribute()

    Returns a named attribute of a specified component of a Field. See DXGetComponentAttribute.

    Object DXGetEnumeratedComponentValue()
    Object DXGetEnumeratedComponentAttribute()

    Return a component or component attribute by index. These routines can be used to retrieve the components or component attributes when their names are not known. See DXGetEnumeratedComponentValue and DXGetEnumeratedComponentAttribute.

    Field DXDeleteComponent()

    Deletes a named component from a Field. See DXDeleteComponent.

    Less Commonly Used Routines

    Error DXComponentReq()
    Error DXComponentOpt();
    Error DXComponentReqLoc();
    Error DXComponentOptLoc();

    Access or type-check a component in a Field. See Note on Use. See also DXComponentReq, DXComponentOpt, DXComponentReqLoc, DXComponentOptLoc.

    Note on Use

    An example of the expected use of DXComponentReq() follows:

        a = DXGetComponentValue(f, "positions");
        if (!DXComponentReq(a, &points, &npoints, 0, TYPE_FLOAT, 3))
            return NULL;
        a = DXGetComponentValue(f, "colors");
        if (!DXComponentOpt(a, &colors, NULL, npoints, TYPE_FLOAT, 3))
            return NULL;
        if (colors) ...

    The first two statements check and retrieve a required "positions" component, while the next two check and retrieve an optional "colors" component that must have the same number of elements. Since the second call uses DXComponentOpt(), the program must check colors for NULL to determine whether the colors were present.

    [ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
    [Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

    [Data Explorer Home Page]

    [IBM Home Page | Order | Search | Contact IBM | Legal ]