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


Java Control.setSpatial方法代码示例

本文整理汇总了Java中com.jme3.scene.control.Control.setSpatial方法的典型用法代码示例。如果您正苦于以下问题:Java Control.setSpatial方法的具体用法?Java Control.setSpatial怎么用?Java Control.setSpatial使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.jme3.scene.control.Control的用法示例。


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

示例1: removeControl

import com.jme3.scene.control.Control; //导入方法依赖的package包/类
/**
 * Removes the first control that is an instance of the given class.
 *
 * @see Spatial#addControl(com.jme3.scene.control.Control)
 */
public void removeControl(Class<? extends Control> controlType) {
    boolean before = requiresUpdates();
    for (int i = 0; i < controls.size(); i++) {
        if (controlType.isAssignableFrom(controls.get(i).getClass())) {
            Control control = controls.remove(i);
            control.setSpatial(null);
            break; // added to match the javadoc  -pspeed
        }
    }
    boolean after = requiresUpdates();
    // If the requirement to be updated has changed
    // then we need to let the parent node know so it
    // can rebuild its update list.
    if( parent != null && before != after ) {
        parent.invalidateUpdateList();
    }
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:23,代码来源:Spatial.java

示例2: addControl

import com.jme3.scene.control.Control; //导入方法依赖的package包/类
/**
 * Add a control to the list of controls.
 * @param control The control to add.
 *
 * @see Spatial#removeControl(java.lang.Class)
 */
public void addControl(Control control) {
    boolean before = requiresUpdates();
    controls.add(control);
    control.setSpatial(this);
    boolean after = requiresUpdates();
    // If the requirement to be updated has changed
    // then we need to let the parent node know so it
    // can rebuild its update list.
    if( parent != null && before != after ) {
        parent.invalidateUpdateList();
    }
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:19,代码来源:Spatial.java

示例3: removeControl

import com.jme3.scene.control.Control; //导入方法依赖的package包/类
/**
 * Removes the first control that is an instance of the given class.
 *
 * @see Spatial#addControl(com.jme3.scene.control.Control) 
 */
public void removeControl(Class<? extends Control> controlType) {
    for (int i = 0; i < controls.size(); i++) {
        if (controlType.isAssignableFrom(controls.get(i).getClass())) {
            Control control = controls.remove(i);
            control.setSpatial(null);
        }
    }
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:14,代码来源:Spatial.java

示例4: oldClone

import com.jme3.scene.control.Control; //导入方法依赖的package包/类
/**
 *  The old clone() method that did not use the new Cloner utility.
 */
public Spatial oldClone(boolean cloneMaterial) {
    try {
        Spatial clone = (Spatial) super.clone();
        if (worldBound != null) {
            clone.worldBound = worldBound.clone();
        }
        clone.worldLights = worldLights.clone();
        clone.localLights = localLights.clone();

        // Set the new owner of the light lists
        clone.localLights.setOwner(clone);
        clone.worldLights.setOwner(clone);

        clone.worldOverrides = new SafeArrayList<>(MatParamOverride.class);
        clone.localOverrides = new SafeArrayList<>(MatParamOverride.class);

        for (MatParamOverride override : localOverrides) {
            clone.localOverrides.add((MatParamOverride) override.clone());
        }

        // No need to force cloned to update.
        // This node already has the refresh flags
        // set below so it will have to update anyway.
        clone.worldTransform = worldTransform.clone();
        clone.localTransform = localTransform.clone();

        if (clone instanceof Node) {
            Node node = (Node) this;
            Node nodeClone = (Node) clone;
            nodeClone.children = new SafeArrayList<Spatial>(Spatial.class);
            for (Spatial child : node.children) {
                Spatial childClone = child.clone(cloneMaterial);
                childClone.parent = nodeClone;
                nodeClone.children.add(childClone);
            }
        }

        clone.parent = null;
        clone.setBoundRefresh();
        clone.setTransformRefresh();
        clone.setLightListRefresh();
        clone.setMatParamOverrideRefresh();

        clone.controls = new SafeArrayList<Control>(Control.class);
        for (int i = 0; i < controls.size(); i++) {
            Control newControl = controls.get(i).cloneForSpatial(clone);
            newControl.setSpatial(clone);
            clone.controls.add(newControl);
        }

        if (userData != null) {
            clone.userData = (HashMap<String, Savable>) userData.clone();
        }

        return clone;
    } catch (CloneNotSupportedException ex) {
        throw new AssertionError();
    }
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:63,代码来源:Spatial.java

示例5: addControl

import com.jme3.scene.control.Control; //导入方法依赖的package包/类
/**
 * Add a control to the list of controls.
 * @param control The control to add.
 *
 * @see Spatial#removeControl(java.lang.Class) 
 */
public void addControl(Control control) {
    controls.add(control);
    control.setSpatial(this);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:11,代码来源:Spatial.java


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