1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3//EN">
<HTML><HEAD>
<TITLE>IBM Visualization Data Explorer Programmer's Reference</TITLE>
<META HTTP-EQUIV="abstract" CONTENT="IBM Visualization Data Explorer
Programmer's Reference">
<META HTTP-EQUIV="contact" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="owner" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="updated" CONTENT="Tue, 16 Sep 1997 ">
<META HTTP-EQUIV="review" CONTENT="Fri, 14 Aug 1998 ">
<META HTTP-EQUIV="keywords" CONTENT="GRAPHICS VISUALIZATION VISUAL PROGRAM DATA
MINING">
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
</HEAD><BODY BGCOLOR="#FFFFFF">
<A NAME="Top_Of_Page"></A>
<H1>IBM Visualization Data Explorer Programmer's Reference</H1>
<B>[ <A HREF="#Bot_Of_Page">Bottom of Page</A> | <A
HREF="progu270.htm">Previous Page</A> | <A HREF="progu272.htm">Next
Page</A> | <A HREF="../proguide.htm#ToC">Table of Contents</A> | <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> | <A
HREF="progu344.htm#HDRINDEX_START">Index</A> ]</B><HR><P>
<H3><A NAME="HDRDXPP" HREF="progu097.htm#PToC_365">DXProcessParts</A></H3>
<A NAME="IDX1959"></A>
<A NAME="IDX1960"></A>
<P><STRONG>Function</STRONG>
<P>
Applies a function to every constituent Field (part) of a specified
Object.
<P><STRONG>Syntax</STRONG>
<BR>
<TT><STRONG><BR>
#include <dx/dx.h><BR>
<P><BR>
Object DXProcessParts(Object object, Field (*process)(Field, Pointer, int),<BR>
Pointer args, int size, int copy, int preserve)<BR>
</STRONG></TT><BR>
<P><STRONG>Functional Details</STRONG>
<P>
<P>
If the input
<TT><STRONG>
Object
</STRONG></TT>
is a Field, this
routine returns the result of the
<TT><STRONG>
process
</STRONG></TT>
function on that Field.
<P>
If the input
<TT><STRONG>
Object
</STRONG></TT>
is a Group and
<TT><STRONG>
copy
</STRONG></TT>
is 1, this routine recursively makes a copy of the Group and
all subgroups. In this case, the
order of the Fields in the Groups is preserved if
<TT><STRONG>
preserve
</STRONG></TT>
is 1. If this is not required, set
<TT><STRONG>
preserve
</STRONG></TT>
to 0 and a more efficient
traversal algorithm will be used.
<P>
If the input
<TT><STRONG>
Object
</STRONG></TT>
is a Group and
<TT><STRONG>
copy
</STRONG></TT>
is 0, it
operates directly on the Groups of the input
<TT><STRONG>object</STRONG></TT>.
<P>
In either case, for every Field
<TT><STRONG>
f
</STRONG></TT>
that is a member of a Group,
it makes a call of the form
<TT><STRONG>process(f</STRONG></TT>, <TT><STRONG>args</STRONG></TT>,
<TT><STRONG>size)</STRONG></TT>
and places
the result of that call in the output in place of
<TT><STRONG>f</STRONG></TT>. The
<TT><STRONG>
process
</STRONG></TT>
function is intended to return a Field which is the processed
version of input Field
<TT><STRONG>f</STRONG></TT>.
<P>
Regardless of the value of the
<TT><STRONG>
copy
</STRONG></TT>
parameter, the Field passed to the
<TT><STRONG>
process
</STRONG></TT>
function is the Field from the original Object and not a copy.
<P>
The <TT><STRONG>size</STRONG></TT> parameter specifies the size of the block
pointed to by <TT><STRONG>args</STRONG></TT>.
If <TT><STRONG>size</STRONG></TT> is nonzero, it makes a copy of the
argument block and places it in global memory before
passing it to <TT><STRONG>process</STRONG></TT>.
The argument must be in global memory because
<TT><STRONG>DXProcessParts</STRONG></TT> may run
in parallel;
however, if the pointer passed is, for example, just a pointer to an
Object that is already in global memory, then
<TT><STRONG>size</STRONG></TT> can be given as 0.
<TT><STRONG>args</STRONG></TT> should not contain pointers to local memory.
<P>
If the <TT><STRONG>process</STRONG></TT> function returns
<TT><STRONG>NULL</STRONG></TT>, and <TT><STRONG>preserve</STRONG></TT>
is 1 or the Field was part of a Series Group or was the
entire input Object, the <TT><STRONG>NULL</STRONG></TT>
return value is replaced with an empty Field.
<P><STRONG>Return Value</STRONG>
<P>
Returns the Object, a copy of the Object, or a processed version of it,
depending on the parameters; otherwise, it returns
<TT><STRONG>NULL</STRONG></TT> and sets an error code.
<P><STRONG>See Also</STRONG>
<P>
<TT><STRONG>
<A HREF="progu191.htm#HDRDXGP">DXGetPart</A>,
<A HREF="progu192.htm#HDRDXGPC">DXGetPartClass</A>,
<A HREF="progu320.htm#HDRDXSP">DXSetPart</A>
</STRONG></TT>
<P>
<A HREF="progu045.htm#HDRPRTS">"Parts"</A>.
<P><P>
<P><HR><B>[ <A HREF="#Top_Of_Page">Top of Page</A> | <A
HREF="progu270.htm">Previous Page</A> | <A HREF="progu272.htm">Next
Page</A> | <A HREF="../proguide.htm#ToC">Table of Contents</A> | <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> | <A
HREF="progu344.htm#HDRINDEX_START">Index</A> ]</B> <br><b>[<a
href="../allguide.htm">Data Explorer Documentation</a> | <a
href="../qikguide.htm">QuickStart Guide</a> | <a
href="../usrguide.htm">User's Guide</a> | <a
href="../refguide.htm">User's Reference</a> | <a
href="../proguide.htm">Programmer's Reference</a> | <a
href="../insguide.htm">Installation and Configuration
Guide</a> ]</b><br><p><b>[<a
href="http://www.research.ibm.com/dx">Data Explorer Home
Page</a>]</b><p><HR ALIGN=LEFT WIDTH=600><b>[<A
HREF="http://www.ibm.com/">IBM Home Page</A> | <A
HREF="http://www.ibm.com/Orders/">Order</A> | <A
HREF="http://www.ibm.com/Search/">Search</A> | <A
HREF="http://www.ibm.com/Assist/">Contact IBM</A> | <A
HREF="http://www.ibm.com/Legal/">Legal</A> ]</b><hr><p>
<A NAME="Bot_Of_Page"></A>
</BODY></HTML>
|