com.bugvm.apple.scenekit.SCNGeometry Maven / Gradle / Ivy
/*
* Copyright (C) 2013-2015 RoboVM AB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.bugvm.apple.scenekit;
/**/
import java.io.*;
import java.nio.*;
import java.util.*;
import com.bugvm.objc.*;
import com.bugvm.objc.annotation.*;
import com.bugvm.objc.block.*;
import com.bugvm.rt.*;
import com.bugvm.rt.annotation.*;
import com.bugvm.rt.bro.*;
import com.bugvm.rt.bro.annotation.*;
import com.bugvm.rt.bro.ptr.*;
import com.bugvm.apple.foundation.*;
import com.bugvm.apple.uikit.*;
import com.bugvm.apple.coregraphics.*;
import com.bugvm.apple.coreanimation.*;
import com.bugvm.apple.dispatch.*;
import com.bugvm.apple.glkit.*;
import com.bugvm.apple.spritekit.*;
import com.bugvm.apple.opengles.*;
/* */
/**/
/**
* @since Available in iOS 8.0 and later.
*/
/* */
/**/@Library("SceneKit") @NativeClass/* */
/**/public/* */ class /**/SCNGeometry/* */
extends /**/NSObject/* */
/**/implements SCNAnimatable, SCNBoundingVolume, SCNShadable/* */ {
/**/public static class SCNGeometryPtr extends Ptr {}/* */
/**/static { ObjCRuntime.bind(SCNGeometry.class); }/* */
/**//* */
/**/
public SCNGeometry() {}
protected SCNGeometry(SkipInit skipInit) { super(skipInit); }
/* */
/**/
@Property(selector = "name")
public native String getName();
@Property(selector = "setName:")
public native void setName(String v);
@Property(selector = "materials")
public native NSArray getMaterials();
@Property(selector = "setMaterials:")
public native void setMaterials(NSArray v);
@Property(selector = "firstMaterial")
public native SCNMaterial getFirstMaterial();
@Property(selector = "setFirstMaterial:")
public native void setFirstMaterial(SCNMaterial v);
@Property(selector = "geometryElementCount")
public native @MachineSizedSInt long getGeometryElementCount();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "levelsOfDetail")
public native NSArray getLevelsOfDetail();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "setLevelsOfDetail:")
public native void setLevelsOfDetail(NSArray v);
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "subdivisionLevel")
public native @MachineSizedUInt long getSubdivisionLevel();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "setSubdivisionLevel:")
public native void setSubdivisionLevel(@MachineSizedUInt long v);
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "edgeCreasesElement")
public native SCNGeometryElement getEdgeCreasesElement();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "setEdgeCreasesElement:")
public native void setEdgeCreasesElement(SCNGeometryElement v);
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "edgeCreasesSource")
public native SCNGeometrySource getEdgeCreasesSource();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "setEdgeCreasesSource:")
public native void setEdgeCreasesSource(SCNGeometrySource v);
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "shaderModifiers")
public native @com.bugvm.rt.bro.annotation.Marshaler(SCNShaderModifierEntryPoint.AsStringMapMarshaler.class) Map getShaderModifiers();
/**
* @since Available in iOS 8.0 and later.
*/
@Property(selector = "setShaderModifiers:")
public native void setShaderModifiers(@com.bugvm.rt.bro.annotation.Marshaler(SCNShaderModifierEntryPoint.AsStringMapMarshaler.class) Map v);
@Property(selector = "program")
public native SCNProgram getProgram();
@Property(selector = "setProgram:")
public native void setProgram(SCNProgram v);
/* */
/**//* */
/**/
@Method(selector = "insertMaterial:atIndex:")
public native void insertMaterial(SCNMaterial material, @MachineSizedUInt long index);
@Method(selector = "removeMaterialAtIndex:")
public native void removeMaterial(@MachineSizedUInt long index);
@Method(selector = "replaceMaterialAtIndex:withMaterial:")
public native void replaceMaterial(@MachineSizedUInt long index, SCNMaterial material);
@Method(selector = "materialWithName:")
public native SCNMaterial getMaterial(String name);
@Method(selector = "geometrySourcesForSemantic:")
public native NSArray getGeometrySourcesForSemantic(SCNGeometrySourceSemantic semantic);
@Method(selector = "geometryElementAtIndex:")
public native SCNGeometryElement getGeometryElement(@MachineSizedSInt long elementIndex);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "geometry")
public static native SCNGeometry create();
@Method(selector = "geometryWithSources:elements:")
public static native SCNGeometry create(NSArray sources, NSArray elements);
@Method(selector = "addAnimation:forKey:")
public native void addAnimation(CAAnimation animation, String key);
@Method(selector = "removeAllAnimations")
public native void removeAllAnimations();
@Method(selector = "removeAnimationForKey:")
public native void removeAnimation(String key);
@Method(selector = "animationKeys")
public native @com.bugvm.rt.bro.annotation.Marshaler(NSArray.AsStringListMarshaler.class) List getAnimationKeys();
@Method(selector = "animationForKey:")
public native CAAnimation getAnimation(String key);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "pauseAnimationForKey:")
public native void pauseAnimation(String key);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "resumeAnimationForKey:")
public native void resumeAnimation(String key);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "isAnimationForKeyPaused:")
public native boolean isAnimationPaused(String key);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "removeAnimationForKey:fadeOutDuration:")
public native void removeAnimation(String key, @MachineSizedFloat double duration);
@Method(selector = "getBoundingBoxMin:max:")
public native boolean getBoundingBox(SCNVector3.SCNVector3Ptr min, SCNVector3.SCNVector3Ptr max);
@Method(selector = "getBoundingSphereCenter:radius:")
public native boolean getBoundingSphere(SCNVector3.SCNVector3Ptr center, MachineSizedFloatPtr radius);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "setBoundingBoxMin:max:")
public native void setBoundingBox(SCNVector3.SCNVector3Ptr min, SCNVector3.SCNVector3Ptr max);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "handleBindingOfSymbol:usingBlock:")
public native void handleBindingOfSymbol(String symbol, @Block VoidBlock4 block);
/**
* @since Available in iOS 8.0 and later.
*/
@Method(selector = "handleUnbindingOfSymbol:usingBlock:")
public native void handleUnbindingOfSymbol(String symbol, @Block VoidBlock4 block);
/* */
}