当前位置: 首页>>代码示例>>Java>>正文


Java Vector类代码示例

本文整理汇总了Java中com.badlogic.gdx.math.Vector的典型用法代码示例。如果您正苦于以下问题:Java Vector类的具体用法?Java Vector怎么用?Java Vector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Vector类属于com.badlogic.gdx.math包,在下文中一共展示了Vector类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: write

import com.badlogic.gdx.math.Vector; //导入依赖的package包/类
@Override
public void write(Kryo kryo, Output output, BSpline bSpline) {
    Class<? extends Vector> vectorType = null;
    if (bSpline.controlPoints != null && bSpline.controlPoints.length > 0)
        vectorType = bSpline.controlPoints[0].getClass();
    else if (bSpline.knots != null && bSpline.knots.size > 0)
        vectorType = ((Vector)bSpline.knots.first()).getClass();
    kryo.writeClass(output, vectorType);
    output.writeInt(bSpline.controlPoints != null ? bSpline.controlPoints.length : -1); // -1 for null array
    if (bSpline.controlPoints != null){
        for (int i = 0; i < bSpline.controlPoints.length; i++) {
            kryo.writeObjectOrNull(output, bSpline.controlPoints[i], vectorType);
        }
    }
    kryo.writeObjectOrNull(output, bSpline.knots, Array.class);
    output.writeInt(bSpline.degree, true);
    output.writeBoolean(bSpline.continuous);
    output.writeInt(bSpline.spanCount, true);
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:20,代码来源:BSplineSerializer.java

示例2: read

import com.badlogic.gdx.math.Vector; //导入依赖的package包/类
@Override
public BSpline read(Kryo kryo, Input input, Class<BSpline> type) {
    BSpline bSpline = new BSpline();
    Class<? extends Vector> vectorType = kryo.readClass(input).getType();
    int controlPointsLength = input.readInt();
    if (controlPointsLength >= 0){
        Vector<?>[] controlPoints = (Vector<?>[])java.lang.reflect.Array.newInstance(vectorType, controlPointsLength);
        for (int i = 0; i < controlPointsLength; i++) {
            controlPoints[i] = kryo.readObjectOrNull(input, vectorType); // vector type won't be null if control points had a length
        }
        bSpline.controlPoints = controlPoints;
    }
    bSpline.knots = kryo.readObjectOrNull(input, Array.class);
    bSpline.degree = input.readInt(true);
    bSpline.continuous = input.readBoolean();
    bSpline.spanCount = input.readInt(true);
    return bSpline;
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:19,代码来源:BSplineSerializer.java

示例3: read

import com.badlogic.gdx.math.Vector; //导入依赖的package包/类
@Override
public CatmullRomSpline read(Kryo kryo, Input input, Class<CatmullRomSpline> type) {
    CatmullRomSpline catmullRomSpline = new CatmullRomSpline();
    Class<? extends Vector> vectorType = kryo.readClass(input).getType();
    int controlPointsLength = input.readInt();
    if (controlPointsLength >= 0){
        Vector<?>[] controlPoints = (Vector<?>[])java.lang.reflect.Array.newInstance(vectorType, controlPointsLength);
        for (int i = 0; i < controlPointsLength; i++) {
            controlPoints[i] = kryo.readObjectOrNull(input, vectorType); // vector type won't be null if control points had a length
        }
        catmullRomSpline.controlPoints = controlPoints;
    }
    catmullRomSpline.continuous = input.readBoolean();
    catmullRomSpline.spanCount = input.readInt(true);
    return catmullRomSpline;
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:17,代码来源:CatmullRomSplineSerializer.java

示例4: calculatePrecisionPoints

import com.badlogic.gdx.math.Vector; //导入依赖的package包/类
private void calculatePrecisionPoints(T[] controlPoints, double maxDistance, Class<T> type) {
    List<Vector<T>> precisionPointsList = new ArrayList<Vector<T>>();
    precisionPointsList.add(controlPoints[1 % spanCount]);
    for (int lastPoint = 1 % spanCount; lastPoint < spanCount + 1; lastPoint++) {
        int nextPoint = lastPoint + 1;
        final T previous = controlPoints[lastPoint];
        final T next = controlPoints[nextPoint];
        final float dstNext = previous.dst(next);

        if (dstNext > maxDistance) {
            int splitLineIntoNumberOfPoints = (int) (dstNext / maxDistance);
            for (int j = 0; j < splitLineIntoNumberOfPoints - 1; j++) {
                T precisionPoint = newVector(type);
                double distanceOnSpan = maxDistance + maxDistance * j;
                valueAt(precisionPoint, lastPoint - 1, (float) distanceOnSpan / dstNext);
                precisionPointsList.add(precisionPoint);
            }
        }
        precisionPointsList.add(next);
    }

    precisionPoints = (T[]) Array.newInstance(type, precisionPointsList.size());
    precisionPoints = precisionPointsList.toArray(precisionPoints);
    precisionPointsCount = precisionPoints.length;
}
 
开发者ID:urstruktur,项目名称:zierfisch,代码行数:26,代码来源:PreciseCatmullRomSpline.java

示例5: write

import com.badlogic.gdx.math.Vector; //导入依赖的package包/类
@Override
public void write(Kryo kryo, Output output, CatmullRomSpline catmullRomSpline) {
    Class<? extends Vector> vectorType = null;
    if (catmullRomSpline.controlPoints != null && catmullRomSpline.controlPoints.length > 0)
        vectorType = catmullRomSpline.controlPoints[0].getClass();
    kryo.writeClass(output, vectorType);
    output.writeInt(catmullRomSpline.controlPoints != null ? catmullRomSpline.controlPoints.length : -1); // -1 for null array
    if (catmullRomSpline.controlPoints != null){
        for (int i = 0; i < catmullRomSpline.controlPoints.length; i++) {
            kryo.writeObjectOrNull(output, catmullRomSpline.controlPoints[i], vectorType);
        }
    }
    output.writeBoolean(catmullRomSpline.continuous);
    output.writeInt(catmullRomSpline.spanCount, true);
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:16,代码来源:CatmullRomSplineSerializer.java


注:本文中的com.badlogic.gdx.math.Vector类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。