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 171 172 173 174 175 176 177 178 179 180 181
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HTML>
<HEAD>
<TITLE>Crystal Space: MeshObject Ball</TITLE>
<META NAME="description" CONTENT="Crystal Space: MeshObject Ball">
<META NAME="keywords" CONTENT="Crystal Space: MeshObject Ball">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC478"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_206.html#SEC471"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_208.html#SEC484"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_196.html#SEC414"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_201.html#SEC452"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_220.html#SEC543"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<HR SIZE=1>
<H3> 7.8.6 Ball Mesh Object </H3>
<!--docid::SEC478::-->
<P>
<EM>Written by Jorrit Tyberghein,
<A HREF="mailto:jorrit.tyberghein@uz.kuleuven.ac.be">jorrit.tyberghein@uz.kuleuven.ac.be</A>.</EM>
</P><P>
A ball is a ball shaped object made out of triangles. You can specify
the detail (i.e. number of triangles used).
</P><P>
<A NAME="SEC479"></A>
<H4> Basic Structure </H4>
<!--docid::SEC479::-->
<P>
The following SCF class names are used (for <CODE>CS_LOAD_PLUGIN()</CODE>):
</P><P>
<UL>
<LI>
Type plugin: `<SAMP>crystalspace.mesh.object.ball</SAMP>'
<LI>
Loader plugin: `<SAMP>crystalspace.mesh.loader.ball</SAMP>'
<LI>
Factory loader plugin: `<SAMP>crystalspace.mesh.loader.factory.ball</SAMP>'
</UL>
<P>
Objects in this plugin implement the following SCF interfaces (get
with <CODE>SCF_QUERY_INTERFACE()</CODE>):
</P><P>
<UL>
<LI>
<EM>MeshObject</EM>
<UL>
<LI>
Implements `<SAMP>iMeshObject</SAMP>'
<LI>
Implements `<SAMP>iBallState</SAMP>'
</UL>
<LI>
<EM>MeshObjectFactory</EM>
<UL>
<LI>
Implements `<SAMP>iMeshObjectFactory</SAMP>'
</UL>
<LI>
<EM>MeshObjectFactory</EM>
<UL>
<LI>
Implements `<SAMP>iMeshObjectType</SAMP>'
</UL>
</UL>
<P>
<A NAME="SEC480"></A>
<H4> Factory State Interface </H4>
<!--docid::SEC480::-->
<P>
The ball mesh object plugin has no factory state interface.
</P><P>
<A NAME="SEC481"></A>
<H4> Factory Loader </H4>
<!--docid::SEC481::-->
<P>
The ball mesh factory loader has no parameters.
</P><P>
<A NAME="SEC482"></A>
<H4> Object State Interface </H4>
<!--docid::SEC482::-->
<P>
`<SAMP>iBallState</SAMP>' is the SCF interface that you can
use to set/get settings for a ball object. The definition of this
interface can be found in <CODE>include/imesh/ball.h</CODE> and that's also the
include file you need to include in your applications to use this plugin.
Using this interface you can access the material, blending mode (mixmode),
and radius.
</P><P>
<A NAME="SEC483"></A>
<H4> Object Loader </H4>
<!--docid::SEC483::-->
<P>
<DL COMPACT>
<DT><CODE>FACTORY(factoryName)</CODE>
<DD>Name of the factory to use for creation of this instance.
<DT><CODE>MIXMODE(mode)</CODE>
<DD>Blending mode, one of `<SAMP>ADD</SAMP>', `<SAMP>ALPHA</SAMP>', `<SAMP>COPY</SAMP>', `<SAMP>KEYCOLOR</SAMP>',
`<SAMP>MULTIPLY2</SAMP>', `<SAMP>MULTIPLY</SAMP>', or `<SAMP>TRANSPARENT</SAMP>'.
<DT><CODE>MATERIAL(materialName)</CODE>
<DD>Material to use for the ball.
<DT><CODE>NUMRIM(number)</CODE>
<DD>Number of vertices on the rim of the ball (i.e. the number of vertices along
the equator). A good default is 6.
<DT><CODE>RADIUS(x,y,z)</CODE>
<DD>Three parameters for x, y, and z radius.
<DT><CODE>SHIFT(x,y,z)</CODE>
<DD>Three parameters for x, y, and z shift.
<DT><CODE>REVERSED(boolean)</CODE>
<DD>Reverse the order of the triangles so that the ball is visible from the
inside instead of the outside.
<DT><CODE>TOPONLY(boolean)</CODE>
<DD>Only generate the top triangles instead of two halves.
<DT><CODE>CYLINDRICAL(boolean)</CODE>
<DD>Use cylindrical texture mapping instead of only a circle from the
texture (default off).
<DT><CODE>LIGHTING(boolean)</CODE>
<DD>Enable/disable lighting. Default on.
<DT><CODE>COLOR(r,g,b)</CODE>
<DD>Set the base color to use for the ball. This color will be added to the
color calculated by lighting (if lighting is enabled).
</DL>
<A NAME="MeshObject Emit"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_206.html#SEC471"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_208.html#SEC484"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_196.html#SEC414"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_201.html#SEC452"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_220.html#SEC543"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
This document was generated
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>
|