Package net.sf.jiga.xtended

Examples of net.sf.jiga.xtended.JXAException


            if (a != null) {
                handlers.put(sp.hashCode(), a);
            }
        }
        if (a == null) {
            throw new JXAException("[" + sp + "]-Object must be loaded before to use it with a GLObjectHandler.");
        }
        return (T) a;
    }
View Full Code Here


                System.out.print("OK\n\r");
            }
            AnimationGLHandler anim = null;
            if (GLcache.containsKey(key)) {
                if (!Animation._GLHandlers.hasHandler(GLcache.get(key))) {
                    throw new JXAException("Model could not load Animation, it has not been loaded yet.");
                }
                anim = Animation._GLHandlers.getHandler(GLcache.get(key));
                final Monitor monitor1 = renderableImpl.imageSynch;
                synchronized (monitor1) {
                    if (GLcurrentAnim != null) {
View Full Code Here

            if (bands == 3) {
                EXTabgr = GL12.GL_BGR;
            } else if (bands == 4) {
                EXTabgr = EXTAbgr.GL_ABGR_EXT;
            } else {
                throw new JXAException("invalid bands count (must be 3 or 4)");
            }
        }
        pixelBuffer.rewind();
    }
View Full Code Here

        }
        for (int i = 0; i < textureSize.width; i++) {
            for (int band = 0; band < bands; band++) {
                int srcBand = band;
                if ((transferMode & TRANSFER_4_BANDS_BIT) != 0 && bands != 4) {
                    throw new JXAException("for RGBA tranfer modes, 4 bands must be specified");
                }
                if ((transferMode & TRANSFER_3_BANDS_BIT) != 0 && bands != 3) {
                    throw new JXAException("for RGB tranfer modes, 3 bands must be specified");
                }
                int transferMask = transferMode - (transferMode & bitStack._getAllBitRanges());
                if ((transferMask & TRANSFER_ABGR_TO_BGRA) != 0) {
                    srcBand = (band + 1) % bands;
                }
View Full Code Here

                } else {
                    ((ShortBuffer) dst).put(((ShortBuffer) src).get());
                }
                break;
            default:
                throw new JXAException("incompatible or unknown data type :" + BufferIO.Data._findTypeName(dataType));
        }
    }
View Full Code Here

                case DataBuffer.TYPE_SHORT:
                case DataBuffer.TYPE_USHORT:
                    bgraData = BufferIO._news(srcSize.width * srcSize.height * bands, false);
                    break;
                default:
                    throw new JXAException("incompatible or unknown BufferedImage type :" + bgraData.toString());
            }
            _copyPixels(imageSrcTex, srcSize, bgraData, srcSize, bands, transferMode, dataType);
            imageSrcTex.clear();
            return bgraData;
        } else {
View Full Code Here

        Dimension imageSize = new Dimension(), textureSize = new Dimension();
        DataBuffer dataBuffer = null;
        int bands = 0;
        int transferMask = transferMode & bitStack._getAllBits();
        if ((transferMask & (TRANSFER_ABGR_TO_BGRA | TRANSFER_ABGR_TO_RGBA | TRANSFER_BGR_TO_RGB)) == 0 && transferMask != 0) {
            throw new JXAException("invalid transfer mode (use only ABGR->any or BGR->any conversions at loading !)");
        }
        Image bi = null;
        if (src instanceof Image) {
            bi = (Image) src;
        } else if (src instanceof String || src instanceof File) {
            File f = src instanceof String ? new File((String) src) : (File) src;
            bi = ImageIO.read(f);
        } else if (src instanceof URL) {
            bi = ImageIO.read((URL) src);
        } else if (src instanceof InputStream) {
            bi = ImageIO.read((InputStream) src);
        } else if (src instanceof ImageReader) {
            ImageReader r = ((ImageReader) src);
            bi = r.read(0, r.getDefaultReadParam());
            SpriteIO._mt.addImage(bi, 0);
            SpriteIO._mt.waitForID(0);
            SpriteIO._mt.removeImage(bi);
            r.dispose();
        } else {
            throw new JXAException("src is not one of the supported class.");
        }
        Sprite sp = null;
        boolean flushSp = false;
        ImageTypeSpecifier type = SpriteIO._getITS(DEFAULT_TYPE);
        if (!(src instanceof Sprite)) {
            sp = new Sprite(bi, "image/x-png", imageSize = new Dimension(bi.getWidth(null), bi.getHeight(null)));
            if (bi instanceof BufferedImage) {
                type = SpriteIO._getITS((BufferedImage) bi);
            }
            flushSp = true;
        } else {
            sp = (Sprite) src;
            type = sp.getFeatures();
            imageSize = sp.getSize();
        }
        sp.setBufferedType(type.getNumComponents() == 3 ? BufferedImage.TYPE_3BYTE_BGR : DEFAULT_TYPE);
        BufferedImage data = null;
        if (sp != null) {
            /**
             * provide a shortcut to texture rectangle (no resizing) ^^
             */
            if (_EXTtex == ARBTextureRectangle.GL_TEXTURE_RECTANGLE_ARB) {
                textureSize = imageSize.getSize();
            } else {
                textureSize.width = Sf3Texture._getNextPowerOfTwo(imageSize.width);
                textureSize.height = Sf3Texture._getNextPowerOfTwo(imageSize.height);
            }
            sp.setSize(textureSize);
            sp.runValidate();
            data = sp.toBuffered();
            textureSize.setSize(data.getWidth(), data.getHeight());
            Raster dataRaster = data.getRaster();
            dataBuffer = dataRaster.getDataBuffer();
            bands = dataRaster.getNumBands();
            if (JXAenvUtils._debug) {
                System.out.println("bufferedimage for texture has " + data.getRaster().getDataBuffer().getNumBanks() + " banks");
            }
        } else {
            return null;
        }
        Buffer pixelBuffer = null;
        switch (dataBuffer.getDataType()) {
            case DataBuffer.TYPE_BYTE:
                pixelBuffer = BufferIO._wrap(((DataBufferByte) dataBuffer).getData()).order(ByteOrder.nativeOrder());
                break;
            case DataBuffer.TYPE_DOUBLE:
                pixelBuffer = BufferIO._wrapd(((DataBufferDouble) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_FLOAT:
                pixelBuffer = BufferIO._wrapf(((DataBufferFloat) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_INT:
                pixelBuffer = BufferIO._wrapi(((DataBufferInt) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_SHORT:
                pixelBuffer = BufferIO._wraps(((DataBufferShort) dataBuffer).getData());
                break;
            case DataBuffer.TYPE_USHORT:
                pixelBuffer = BufferIO._wraps(((DataBufferUShort) dataBuffer).getData());
                break;
            default:
                throw new JXAException("incompatible or unknown BufferedImage type :" + texture.toString());
        }
        data.flush();
        pixelBuffer = _convert2DTexBuffer(pixelBuffer, textureSize, bands, transferMode, dataBuffer.getDataType());
        if (pixelBuffer != null) {
            /**
             * instance Sf3Texture with the filled up pixelBuffer
             */
            texture = new Sf3Texture(hashCode, pixelBuffer, textureSize.width, textureSize.height, bands, imageSize, transferMode);
            if (JXAenvUtils._debug) {
                System.err.println("new Sf3Texture buffer " + BufferIO._getBufferDataTypeName(pixelBuffer) + " size : " + BufferIO._countByteSize(pixelBuffer) + " w/ " + bands + " bands is POT ? : " + (isPOT((float) pixelBuffer.limit() / (float) bands) ? "yes" : "no"));
            }
        } else {
            throw new JXAException("pixel buffer is null, no data could be loaded");
        }
        if (flushSp) {
            sp.clearResource();
        }
        return texture;
View Full Code Here

                break;
            case DataBuffer.TYPE_INT:
                glType = GL11.GL_UNSIGNED_INT;
                break;
            default:
                throw new JXAException(JXAException.LEVEL.APP, "unknown/unsupported datatype : " + pixelBuffer);
        }
        return glType;
    }
View Full Code Here

     * @see #_genVRAMBuffersMap(int)
     * @see #delete(java.nio.IntBuffer)
     */
    public int getVRAMFindVacant() {
        if (!initialized) {
            throw new JXAException("_initScratch is missing");
        }
        int buffer = 0;
        scratch.rewind();
        while (scratch.hasRemaining()) {
            int name = scratch.get();
            /**
             * buffer name was deleted
             */
            if (name == 0) {
                continue;
            }
            /**
             * is that bound already ?
             */
            boolean bound = isBound(name);
            if (!bound) {
                /**
                 * ensure no items exists
                 */
                synchronized (buffersMap) {
                    for (List<Item<D>> buffers : buffersMap.values()) {
                        /**
                         * items will equal name if items.name is equal
                         */
                        for (Item<D> i : buffers) {
                            if (i.name == name) {
                                bound = true;
                                break;
                            }
                        }
                        if (bound) {
                            break;
                        }
                    }
                }
            }
            /*
             * vacant id if it is not found
             */
            if (!bound) {
                buffer = name;
                break;
            }
        }
        scratch.rewind();
        if (buffer == 0) {
            throw new JXAException("BuffersMap is overflowing the generated scratch capacity" + scratch.limit() + " . Please increase scratch/VRAMBuffersMap capacity to at least ~ " + buffersMap.size() + " names !");
        }
        return buffer;
    }
View Full Code Here

    public Item<D> item(int bufferHash, int i) {
        if (hasItem(bufferHash)) {
            return getItems(bufferHash).get(i);
        }
        throw new JXAException(JXAException.LEVEL.SYSTEM, "no valid item found !!!");
    }
View Full Code Here

TOP

Related Classes of net.sf.jiga.xtended.JXAException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.