public static Shape3D createShape3D(double[] data,int realDataIndex,int[] stripCount,Color color,boolean filled){
  try {
    double[] newData=new double[realDataIndex];
    System.arraycopy(data,0,newData,0,realDataIndex);
    if (filled) {
      return createFilled(newData,stripCount,color);
    }
 else {
      return createEdges(newData,color);
    }
  }
 catch (  java.lang.IllegalArgumentException iae) {
    Debug.error("OMGraphicUtil.createShape3D():  IllegalArgumentException caught: \n" + iae.toString());
    StringBuffer sb=new StringBuffer();
    for (int i=0; i < stripCount.length; i++) {
      sb.append("{" + stripCount[i] + "}");
    }
    Debug.output("Something funny happened on " + (filled ? "filled" : "edge") + " data["+ data.length+ "], reflecting "+ data.length / 3 + " nodes, with stripCount[" + stripCount.length + "] " + sb.toString());
  }
  return null;
}

public static Shape3D createShape3D ( double [ ] data , int realDataIndex , int [ ] stripCount , Color color , boolean filled ) { try { double [ ] newData = new double [ realDataIndex ] ; System . arraycopy ( data , 0 , newData , 0 , realDataIndex ) ; if ( filled ) { return createFilled ( newData , stripCount , color ) ; } else { return createEdges ( newData , color ) ; } } catch ( java . lang . IllegalArgumentException iae ) { Debug . error ( "OMGraphicUtil.createShape3D():  IllegalArgumentException caught: \n" + iae . toString ( ) ) ; StringBuffer sb = new StringBuffer ( ) ; for ( int i = 0 ; i < stripCount . length ; i ++ ) { sb . append ( "{" + stripCount [ i ] + "}" ) ; } Debug . output ( "Something funny happened on " + ( filled ? "filled" : "edge" ) + " data[" + data . length + "], reflecting " + data . length / 3 + " nodes, with stripCount[" + stripCount . length + "] " + sb . toString ( ) ) ; } return null ; }
create a shape3d from raw components . may return null . assumes a stripcount array of size one .
