com.ardor3d.scenegraph.Node.hasAncestor()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(4.7k)|赞(0)|评价(0)|浏览(80)

本文整理了Java中com.ardor3d.scenegraph.Node.hasAncestor()方法的一些代码示例,展示了Node.hasAncestor()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.hasAncestor()方法的具体详情如下:
包路径:com.ardor3d.scenegraph.Node
类名称:Node
方法名:hasAncestor

Node.hasAncestor介绍

暂无

代码示例

代码示例来源:origin: com.ardor3d/ardor3d-core

/**
 * determines if the provided Node is the parent, or parent's parent, etc. of this Spatial.
 * 
 * @param ancestor
 *            the ancestor object to look for.
 * @return true if the ancestor is found, false otherwise.
 */
public boolean hasAncestor(final Node ancestor) {
  if (_parent == null) {
    return false;
  } else if (_parent.equals(ancestor)) {
    return true;
  } else {
    return _parent.hasAncestor(ancestor);
  }
}

代码示例来源:origin: Renanse/Ardor3D

/**
 * determines if the provided Node is the parent, or parent's parent, etc. of this Spatial.
 *
 * @param ancestor
 *            the ancestor object to look for.
 * @return true if the ancestor is found, false otherwise.
 */
public boolean hasAncestor(final Node ancestor) {
  if (_parent == null) {
    return false;
  } else if (_parent.equals(ancestor)) {
    return true;
  } else {
    return _parent.hasAncestor(ancestor);
  }
}

代码示例来源:origin: com.ardor3d/ardor3d-core

/**
 * 
 * <code>attachChild</code> attaches a child to this node. This node becomes the child's parent. The current number
 * of children maintained is returned. <br>
 * If the child already had a parent it is detached from that former parent.
 * 
 * @param child
 *            the child to attach to this node.
 * @return the number of children maintained by this node.
 */
public int attachChild(final Spatial child) {
  if (child != null) {
    if (child == this || (child instanceof Node && hasAncestor((Node) child))) {
      throw new IllegalArgumentException("Child is already part of this hierarchy.");
    }
    if (child.getParent() != this) {
      if (child.getParent() != null) {
        child.getParent().detachChild(child);
      }
      child.setParent(this);
      _children.add(child);
      child.markDirty(DirtyType.Attached);
      if (logger.isLoggable(Level.FINE)) {
        logger.fine("Child (" + child.getName() + ") attached to this" + " node (" + getName() + ")");
      }
    }
  }
  return _children.size();
}

代码示例来源:origin: com.ardor3d/ardor3d-core

/**
 * 
 * <code>attachChildAt</code> attaches a child to this node at an index. This node becomes the child's parent. The
 * current number of children maintained is returned. <br>
 * If the child already had a parent it is detached from that former parent.
 * 
 * @param child
 *            the child to attach to this node.
 * @return the number of children maintained by this node.
 */
public int attachChildAt(final Spatial child, final int index) {
  if (child != null) {
    if (child == this || (child instanceof Node && hasAncestor((Node) child))) {
      throw new IllegalArgumentException("Child is already part of this hierarchy.");
    }
    if (child.getParent() != this) {
      if (child.getParent() != null) {
        child.getParent().detachChild(child);
      }
      child.setParent(this);
      _children.add(index, child);
      child.markDirty(DirtyType.Attached);
      if (logger.isLoggable(Level.FINE)) {
        logger.fine("Child (" + child.getName() + ") attached to this" + " node (" + getName() + ")");
      }
    }
  }
  return _children.size();
}

代码示例来源:origin: Renanse/Ardor3D

/**
 *
 * <code>attachChildAt</code> attaches a child to this node at an index. This node becomes the child's parent. The
 * current number of children maintained is returned. <br>
 * If the child already had a parent it is detached from that former parent.
 *
 * @param child
 *            the child to attach to this node.
 * @return the number of children maintained by this node.
 */
public int attachChildAt(final Spatial child, final int index) {
  if (child != null) {
    if (child == this || (child instanceof Node && hasAncestor((Node) child))) {
      throw new IllegalArgumentException("Child is already part of this hierarchy.");
    }
    if (child.getParent() != this) {
      if (child.getParent() != null) {
        child.getParent().detachChild(child);
      }
      child.setParent(this);
      _children.add(index, child);
      child.markDirty(DirtyType.Attached);
      if (logger.isLoggable(Level.FINE)) {
        logger.fine("Child (" + child.getName() + ") attached to this" + " node (" + getName() + ")");
      }
    }
  }
  return _children.size();
}

代码示例来源:origin: Renanse/Ardor3D

/**
 *
 * <code>attachChild</code> attaches a child to this node. This node becomes the child's parent. The current number
 * of children maintained is returned. <br>
 * If the child already had a parent it is detached from that former parent.
 *
 * @param child
 *            the child to attach to this node.
 * @return the number of children maintained by this node.
 */
public int attachChild(final Spatial child) {
  if (child != null) {
    if (child == this || (child instanceof Node && hasAncestor((Node) child))) {
      throw new IllegalArgumentException("Child is already part of this hierarchy.");
    }
    if (child.getParent() != this) {
      if (child.getParent() != null) {
        child.getParent().detachChild(child);
      }
      child.setParent(this);
      _children.add(child);
      child.markDirty(DirtyType.Attached);
      if (logger.isLoggable(Level.FINE)) {
        logger.fine("Child (" + child.getName() + ") attached to this" + " node (" + getName() + ")");
      }
    }
  }
  return _children.size();
}

相关文章