Sophie

Sophie

distrib > Mandriva > cooker > i586 > by-pkgid > b70c0f154c89d61ccc233b855bfed06f > files > 331

cg-3.0.0018-0.1.i586.rpm

<HTML>

<HEAD>
<TITLE>cgConnectParameter</TITLE>
<STYLE TYPE="text/css" MEDIA=screen>
<!--
		
BODY {
 font-family: Arial,Helvetica;
}

BLOCKQUOTE { margin: 10pt;  }

H1,A { color: #336699; }


/*** Top menu style ****/
.mmenuon { 
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #ff6600; font-size: 10pt;
 }
.mmenuoff { 
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #ffffff; font-size: 10pt;
}	  
.cpyright {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #ffffff; font-size: xx-small;
}
.cpyrightText {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #ffffff; font-size: xx-small;
}
.sections { 
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: 11pt;
}	 
.dsections { 
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: 12pt;
}	
.slink { 
 font-family: Arial,Helvetica; font-weight: normal; text-decoration: none;
 color: #336699; font-size: 9pt;
}	 

.slink2 { font-family: Arial,Helvetica; text-decoration: none; color: #336699; }	 

.maintitle { 
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: 18pt;
}	 
.dblArrow {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: small;
}
.menuSec {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: small;
}

.newstext {
 font-family: Arial,Helvetica; font-size: small;
}

.linkmenu {
 font-family: Arial,Helvetica; color: #000000; font-weight: bold;
 text-decoration: none;
}

P {
 font-family: Arial,Helvetica;
}

PRE            { 
																font-family: monospace;
																white-space: pre; 
																font-color: #333333; 
																font-weight: 100;
																background-color: #eeeeee; 
																padding: 5px; 
																width: 90%; 
																border-style: solid;
																border-width: 2px; 
																border-color: #bebebe; 
	              }
.quote { 
 font-family: Times; text-decoration: none;
 color: #000000; font-size: 9pt; font-style: italic;
}	
.smstd { font-family: Arial,Helvetica; color: #000000; font-size: x-small; } 
.std { font-family: Arial,Helvetica; color: #000000; } 
.meerkatTitle { 
 font-family: sans-serif; font-size: x-small;  color: black;    }

.meerkatDescription { font-family: sans-serif; font-size: 10pt; color: black }
.meerkatCategory { 
 font-family: sans-serif; font-size: 9pt; font-weight: bold; font-style: italic; 
 color: brown; }
.meerkatChannel { 
 font-family: sans-serif; font-size: 9pt; font-style: italic; color: brown; }
.meerkatDate { font-family: sans-serif; font-size: xx-small; color: #336699; }

.tocTitle {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #333333; font-size: 10pt;
}

.toc-item {
 font-family: Arial,Helvetica; font-weight: bold; 
 color: #336699; font-size: 10pt; text-decoration: underline;
}

.perlVersion {
 font-family: Arial,Helvetica; font-weight: bold; 
 color: #336699; font-size: 10pt; text-decoration: none;
}

.docTitle {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #000000; font-size: 10pt;
}
.dotDot {
 font-family: Arial,Helvetica; font-weight: bold; 
 color: #000000; font-size: 9pt;
}

.docSec {
 font-family: Arial,Helvetica; font-weight: normal; 
 color: #333333; font-size: 9pt;
}
.docVersion {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: 10pt;
}

.docSecs-on {
 font-family: Arial,Helvetica; font-weight: normal; text-decoration: none;
 color: #ff0000; font-size: 10pt;
}
.docSecs-off {
 font-family: Arial,Helvetica; font-weight: normal; text-decoration: none;
 color: #333333; font-size: 10pt;
}

h3 {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: small;
}
h2 {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: medium;
}
h1 {
 font-family: Verdana,Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: large;
}

DL {
 font-family: Arial,Helvetica; font-weight: normal; text-decoration: none;
 color: #333333; font-size: 10pt;
}

UL > LI > A {
 font-family: Arial,Helvetica; font-weight: bold;
 color: #336699; font-size: 10pt;
}

.moduleInfo {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #333333; font-size: 11pt;
}

.moduleInfoSec {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none;
 color: #336699; font-size: 10pt;
}

.moduleInfoVal {
 font-family: Arial,Helvetica; font-weight: normal; text-decoration: underline;
 color: #000000; font-size: 10pt;
}

.cpanNavTitle {
 font-family: Arial,Helvetica; font-weight: bold; 
 color: #ffffff; font-size: 10pt;
}
.cpanNavLetter {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; 
 color: #333333; font-size: 9pt;
}
.cpanCat {
 font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; 
 color: #336699; font-size: 9pt;
}


-->
</STYLE>

</HEAD>

<BODY>


<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
</object>




<BLOCKQUOTE>

<H1><A NAME="NAME"><A NAME="1">NAME

</A></A></H1>
<P>
<B>cgConnectParameter</B> - connect two parameters


</P>

<H1><A NAME="SYNOPSIS"><A NAME="2">SYNOPSIS

</A></A></H1>
<PRE>  #include &lt;Cg/cg.h&gt;

  void cgConnectParameter( CGparameter from,
                           CGparameter to );
</PRE>
<H1><A NAME="PARAMETERS"><A NAME="3">PARAMETERS

</A></A></H1>
<DL>
<DT><STRONG>from

</STRONG></DT>
<DD>

<P>
The source parameter.


</P>
<DT><STRONG>to

</STRONG></DT>
<DD>

<P>
The destination parameter.


</P>
</DD></DL>

<H1><A NAME="RETURN_VALUES"><A NAME="4">RETURN VALUES

</A></A></H1>
<P>
None.


</P>

<H1><A NAME="DESCRIPTION"><A NAME="5">DESCRIPTION

</A></A></H1>
<P>
<B>cgConnectParameter</B> connects a source (from) parameter to a destination 
(to) parameter.  The resulting connection forces the value and variability
of the destination parameter to be identical to the source parameter.
A source parameter may be connected to multiple destination parameters but
there may only be one source parameter per destination parameter.  


</P>
<P>
<B>cgConnectParameter</B> may be used to create an arbitrarily deep tree.
A runtime error will be thrown if a cycle is 
inadvertently  created.  For example, the following code snipped would
generate a <B>CG_BIND_CREATES_CYCLE_ERROR</B> :


</P>
<PRE>  CGcontext context = cgCreateContext();
  CGparameter Param1 = cgCreateParameter(context, CG_FLOAT);
  CGparameter Param2 = cgCreateParameter(context, CG_FLOAT);
  CGparameter Param3 = cgCreateParameter(context, CG_FLOAT);

  cgConnectParameter(Param1, Param2);
  cgConnectParameter(Param2, Param3);
  cgConnectParameter(Param3, Param1); /* This will generate the error */
</PRE><P>
If the source type is a complex type (e.g., struct, or array) the 
topology and member types of both parameters must be identical.  Each 
correlating member parameter will be connected.


</P>
<P>
Both parameters must be of the same type unless the source parameter is
a struct type, the destination parameter is an interface type, and the
struct type implements the interface type.   In such a case, a copy of the 
parameter tree under the source parameter will be duplicated, linked to
the orignal tree, and placed under the destination parameter. 


</P>
<P>
If an array parameter is connected to a resizable array parameter the
destination parameter array will automatically be resized to match the
source array.


</P>
<P>
The source parameter may not be a program parameter.  Also the variability
of the parameters may not be <B>CG_VARYING</B>.


</P>

<H1><A NAME="EXAMPLES"><A NAME="6">EXAMPLES

</A></A></H1>
<PRE>  CGparameter TimeParam1 = cgGetNamedParameter(program1, "time");
  CGparameter TimeParam2 = cgGetNamedParameter(program2, "time");
  CGparameter SharedTime = cgCreateParameter(context, 
                                             cgGetParameterType(TimeParam1));

  cgConnectParameter(SharedTime, TimeParam1);
  cgConnectParameter(SharedTime, TimeParam2);

  cgSetParameter1f(SharedTime, 2.0);
</PRE>
<H1><A NAME="ERRORS"><A NAME="7">ERRORS

</A></A></H1>
<P>
<B>CG_INVALID_PARAM_HANDLE_ERROR</B> is generated if either of the 
<B>from</B> or <B>to</B> parameters are invalid handles.


</P>
<P>
<B>CG_PARAMETER_IS_NOT_SHARED_ERROR</B> is generated if the source parameter 
is a program parameter.


</P>
<P>
<B>CG_BIND_CREATES_CYCLE_ERROR</B> is generated if the connection will result in 
a cycle.


</P>
<P>
<B>CG_PARAMETERS_DO_NOT_MATCH_ERROR</B> is generated if the parameters do not have
the same type or the topologies do not match.


</P>
<P>
<B>CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR</B> is generated if the type of two arrays
being connected do not match.


</P>
<P>
<B>CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR</B> is generated if the dimensions of
two arrays being connected do not match.


</P>

<H1><A NAME="HISTORY"><A NAME="8">HISTORY

</A></A></H1>
<P>
<B>cgConnectParameter</B> was introduced in Cg 1.2.


</P>

<H1><A NAME="SEE_ALSO"><A NAME="9">SEE ALSO

</A></A></H1>
<P>
<A HREF="cgGetConnectedParameter.html">cgGetConnectedParameter</A>,
<A HREF="cgGetConnectedToParameter.html">cgGetConnectedToParameter</A>,
<A HREF="cgDisconnectParameter.html">cgDisconnectParameter</A>

</P>

</BLOCKQUOTE>



</BODY>