Hi Sometime back you wrote that you have a code that generates a rounded stick like object.Vis a vis that message,I want to know,how can I implement irregular surfaces in java 3d for developing a structure of human bones...
Kindly help me out. On Mon, 08 Dec 2003 Paul Pantera wrote : >I can help you with GeometryInfo problems. > >>I have some code that generates a 'rounded stick' like object I use for >>creating molecular stick models. The GeometryInfo class interests me and >>looks like it could save me a lot of work. That is if I could get it to >>work. >> >>Case 1: >> >>def createNormals(self): >> gi = GeometryInfo(GeometryInfo.TRIANGLE_ARRAY| LineArray.COLOR_3) > >The prmitive sent to GeometryInfo is one of the five primitives listed >in the javadoc (POLYGON_ARRAY, QUAD_ARRAY, TRIANGLE_ARRAY, TRIANGLE_FAN_ARRAY, >or TRIANGLE_STRIP_ARRAY). Why are you or'ring GeometryInfo.TRIANGLE_ARRAY >with LineArray.COLOR_3? That's wrong. > >GeometryInfo will know that you have colors when you set the colors >using setColors(). You do not need to send a flag to the constructor >to inform it that you will be using colors. GeometryInfo was >designed to be more flexible than GeometryArray, and this is one >example of how I tried to achieve that. > >> gi.setCoordinates(self.verts) >> nm = NormalGenerator() > >NormalGenerator nm = new NormalGenerator(); > >> nm.generateNormals(gi) >> si = Stripifier() > >Stripifier si = new Stripifier(); > >> si.stripify(gi) >> return gi.getGeometryArray(1,0,0) > >return gi.getGeometryArray(true, false, false); > >> >>Result: >> >>java.lang.IllegalArgumentException: StripCounts inconsistent with primitive >>at com.sun.j3d.utils.geometry.GeometryInfo.checkForBadData > >This error means that you have set stripCounts on a primitive that >doesn't require it, or vice-versa. TRIANGLE_ARRAY and >QUAD_ARRAY don't require stripCounts, the other three primitive >types do. > >GeometryInfo is confused about the primitive because you sent the >LineArray.COLOR_3 flag to the constructor. LineArray.COLOR_3 is >4 and GeometryInfo.TRIANGLE_ARRAY is 1 so you are sending 1 | 4 = 5 >to the constructor. This corresponds to GeometryInfo.POLYGON_ARRAY >so GeometryInfo is expecting polygons. This is why it needs a >stripCounts arry, which you didn't set, hence the error. (To find >these values, in the javadoc, click on the constant and then click >on "See Also: Constant Field Values." See here: > >http://hendrix.lems.brown.edu/~arw/online-docs/java3d-1.3.0-docs/constant-values.html > > >>Yet it works if I create a GeometryArray.TRIANGLE_ARRAY with the same data >>it works. >> >>Huh ? > >The primitive type constants for GeometryInfo are separate from those >for GeometryArray. You need to use the GeometryInfo primitive >constants for GeometryInfos and the GeometryArray constants for >GeometryArrays. > >-Paul Pantera > Chief Architect, PresidioLabs, Inc. > 1-650-766-1517 > >=========================================================================== >To unsubscribe, send email to [EMAIL PROTECTED] and include in the body >of the message "signoff JAVA3D-INTEREST". For general help, send email to >[EMAIL PROTECTED] and include in the body of the message "help". Sikander Hayat F/0 Engineering and Technology Jamia Millia Islamia New Delhi ----------------------------------- + LIVE BY THE SWORD,DIE BY THE SWORD | ----------------------------------- + =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".