de.grogra.mtg
Class MTGNode

java.lang.Object
  extended by de.grogra.graph.impl.Edge
      extended by de.grogra.graph.impl.Node
          extended by de.grogra.imp3d.objects.Null
              extended by de.grogra.imp3d.objects.ShadedNull
                  extended by de.grogra.imp3d.objects.AxisBase
                      extended by de.grogra.turtle.TurtleStep
                          extended by de.grogra.turtle.Shoot
                              extended by de.grogra.turtle.F
                                  extended by de.grogra.mtg.MTGNode
All Implemented Interfaces:
Transformation, VertexSequence.Vertex, Manageable, PersistenceCapable, Shareable, UserFields, XObject, TurtleModifier, Map, java.io.Serializable
Direct Known Subclasses:
MTGRoot

public class MTGNode
extends F

Since:
2011-11-24
Author:
yong
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class de.grogra.turtle.F
F.Pattern
 
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
 
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
 
Field Summary
static Node.NType $TYPE
           
 double AA
           
static Node.NType.Field AA$FIELD
           
 double Alpha
           
static Node.NType.Field Alpha$FIELD
           
 double Azimut
           
static Node.NType.Field Azimut$FIELD
           
 double BB
           
static Node.NType.Field BB$FIELD
           
 double BotDia
           
static Node.NType.Field BotDia$FIELD
           
 int Category
           
static Node.NType.Field Category$FIELD
           
 double CC
           
static Node.NType.Field CC$FIELD
           
 double DAB
           
static Node.NType.Field DAB$FIELD
           
 double DAC
           
static Node.NType.Field DAC$FIELD
           
 int dataFlag
           
static Node.NType.Field dataFlag$FIELD
           
 double DBC
           
static Node.NType.Field DBC$FIELD
           
 Vector3d DirectionPrimary
           
static Node.NType.Field DirectionPrimary$FIELD
           
 double L1
           
static Node.NType.Field L1$FIELD
           
 double L2
           
static Node.NType.Field L2$FIELD
           
 double L3
           
static Node.NType.Field L3$FIELD
           
 double Length
           
static Node.NType.Field Length$FIELD
           
 java.lang.String mtgClass
           
static Node.NType.Field mtgClass$FIELD
           
 int mtgClassID
           
static Node.NType.Field mtgClassID$FIELD
           
 int mtgID
           
static Node.NType.Field mtgID$FIELD
           
 int mtgScale
           
static Node.NType.Field mtgScale$FIELD
           
 int Order
           
static Node.NType.Field Order$FIELD
           
 double Position
           
static Node.NType.Field Position$FIELD
           
 int stdAttFlag
           
static Node.NType.Field stdAttFlag$FIELD
           
 double TopDia
           
static Node.NType.Field TopDia$FIELD
           
 double XX
           
static Node.NType.Field XX$FIELD
           
 double YY
           
static Node.NType.Field YY$FIELD
           
 double ZZ
           
static Node.NType.Field ZZ$FIELD
           
 
Fields inherited from class de.grogra.turtle.F
color, color$FIELD, diameter, diameter$FIELD, length, length$FIELD
 
Fields inherited from class de.grogra.turtle.Shoot
localRegisters$FIELD
 
Fields inherited from class de.grogra.imp3d.objects.AxisBase
SCALE_V_MASK, scaleV$FIELD, USED_BITS
 
Fields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD
 
Fields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD
 
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD
 
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
 
Constructor Summary
MTGNode()
           
 
Method Summary
 MTGNode compoFather()
          Returns compositional father of this node
 MTGNode[] compoSons()
          Return compositional sons of this node
 java.lang.Integer compoSonsCount()
          Get number of compositional sons.
 int[] compoSonsIds()
          Get the list of composition sons of this MTGNode.
static void copyStdAttributes(MTGNode oldNode, MTGNode newNode)
           
 MTGNode findAdjacentMTG(boolean out, int edgeBits, java.lang.String entityClass, int entityIndex)
          Find an adjacent node n to this one.
 double getLength()
          Gets the length attribute value of the node.
protected  Node.NType getNTypeImpl()
          This method returns the Node.NType which describes the managed fields of the class of this node.
 int getOrder()
          Gets the order attribute value of the node.
 Node.NType getType()
           
 boolean hasAA()
           
 boolean hasAlpha()
           
 boolean hasAzimut()
           
 boolean hasBB()
           
 boolean hasBotDia()
           
 boolean hasCategory()
           
 boolean hasCC()
           
 boolean hasDAB()
           
 boolean hasDAC()
           
 boolean hasDBC()
           
 boolean hasDirectionPrimary()
           
 boolean hasL1()
           
 boolean hasL2()
           
 boolean hasL3()
           
 boolean hasLength()
           
 boolean hasOrder()
           
 boolean hasPosition()
           
 boolean hasStdAtt(int mask)
           
 boolean hasTopDia()
           
 boolean hasXX()
           
 boolean hasYY()
           
 boolean hasZZ()
           
 int height(MTGNode endNode)
          Number of successor or branch edges from this node to an end node.
protected  Node newInstance()
          This method returns a new instance of the class of this node.
 int order(MTGNode endNode)
          Number of branch edges from this node to an end node.
 void setDirectoryPrimary(Vector3d dirp)
           
 void setStdAttFlagOff(int mask)
           
 void setStdAttFlagOn(int mask)
           
 MTGNode[] topoSonNodes(int edgeType)
          Get the list of topological sons with specified edge type connection of this MTGNode.
 int[] topoSons(int edgeType)
          Get the list of topological sons with specified edge type connection of this MTGNode.
 
Methods inherited from class de.grogra.turtle.F
getFloat, getInt, getLength
 
Methods inherited from class de.grogra.turtle.Shoot
execute, getBoolean, getLocalRegisters, getObject, getSymbolColor, getVertexTransformation, setLocalRegisters
 
Methods inherited from class de.grogra.turtle.TurtleStep
getDouble, postTransform
 
Methods inherited from class de.grogra.imp3d.objects.AxisBase
isScaleV, setScaleV
 
Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinite
 
Methods inherited from class de.grogra.imp3d.objects.Null
getLocalTransformation, getTransform, getTranslation, isTransforming, preTransform, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslation
 
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getGraph, getId, getIndex, getInstantiator, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplace
 
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
 

Field Detail

$TYPE

public static final Node.NType $TYPE

AA

public double AA

AA$FIELD

public static final Node.NType.Field AA$FIELD

Alpha

public double Alpha

Alpha$FIELD

public static final Node.NType.Field Alpha$FIELD

Azimut

public double Azimut

Azimut$FIELD

public static final Node.NType.Field Azimut$FIELD

BB

public double BB

BB$FIELD

public static final Node.NType.Field BB$FIELD

BotDia

public double BotDia

BotDia$FIELD

public static final Node.NType.Field BotDia$FIELD

Category

public int Category

Category$FIELD

public static final Node.NType.Field Category$FIELD

CC

public double CC

CC$FIELD

public static final Node.NType.Field CC$FIELD

DAB

public double DAB

DAB$FIELD

public static final Node.NType.Field DAB$FIELD

DAC

public double DAC

DAC$FIELD

public static final Node.NType.Field DAC$FIELD

dataFlag

public int dataFlag

dataFlag$FIELD

public static final Node.NType.Field dataFlag$FIELD

DBC

public double DBC

DBC$FIELD

public static final Node.NType.Field DBC$FIELD

DirectionPrimary

public Vector3d DirectionPrimary

DirectionPrimary$FIELD

public static final Node.NType.Field DirectionPrimary$FIELD

L1

public double L1

L1$FIELD

public static final Node.NType.Field L1$FIELD

L2

public double L2

L2$FIELD

public static final Node.NType.Field L2$FIELD

L3

public double L3

L3$FIELD

public static final Node.NType.Field L3$FIELD

Length

public double Length

Length$FIELD

public static final Node.NType.Field Length$FIELD

mtgClass

public java.lang.String mtgClass

mtgClass$FIELD

public static final Node.NType.Field mtgClass$FIELD

mtgClassID

public int mtgClassID

mtgClassID$FIELD

public static final Node.NType.Field mtgClassID$FIELD

mtgID

public int mtgID

mtgID$FIELD

public static final Node.NType.Field mtgID$FIELD

mtgScale

public int mtgScale

mtgScale$FIELD

public static final Node.NType.Field mtgScale$FIELD

Order

public int Order

Order$FIELD

public static final Node.NType.Field Order$FIELD

Position

public double Position

Position$FIELD

public static final Node.NType.Field Position$FIELD

stdAttFlag

public int stdAttFlag

stdAttFlag$FIELD

public static final Node.NType.Field stdAttFlag$FIELD

TopDia

public double TopDia

TopDia$FIELD

public static final Node.NType.Field TopDia$FIELD

XX

public double XX

XX$FIELD

public static final Node.NType.Field XX$FIELD

YY

public double YY

YY$FIELD

public static final Node.NType.Field YY$FIELD

ZZ

public double ZZ

ZZ$FIELD

public static final Node.NType.Field ZZ$FIELD
Constructor Detail

MTGNode

public MTGNode()
Method Detail

compoFather

public MTGNode compoFather()
Returns compositional father of this node

Returns:
MTGNode

compoSons

public MTGNode[] compoSons()
Return compositional sons of this node


compoSonsCount

public java.lang.Integer compoSonsCount()
Get number of compositional sons.

Returns:
number of compositional sons.

compoSonsIds

public int[] compoSonsIds()
Get the list of composition sons of this MTGNode.


copyStdAttributes

public static void copyStdAttributes(MTGNode oldNode,
                                     MTGNode newNode)

findAdjacentMTG

public MTGNode findAdjacentMTG(boolean out,
                               int edgeBits,
                               java.lang.String entityClass,
                               int entityIndex)
Find an adjacent node n to this one. The edgeBits are used to determine if a relation between those two nodes exists (Edge.testEdgeBits(int)). If out is true and this node is the source or if in is true and this node is the target, n is returned. Thus, if in and out is true, any adjacent node where the connecting edge matches the edgeBits is considered.

Parameters:
in - true if edges incoming to this node should be considered
out - true if edges outgoing from this node should be considered
edgeBits - the type/types of edges to consider
Returns:
an adjacent node that matches the criteria or null if none found

getLength

public double getLength()
Gets the length attribute value of the node.

Returns:
length

getNTypeImpl

protected Node.NType getNTypeImpl()
Description copied from class: Node
This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
getNTypeImpl in class F
Returns:
type describing the managed fields of the class of this node

getOrder

public int getOrder()
Gets the order attribute value of the node.

Returns:
order

getType

public Node.NType getType()

hasAA

public boolean hasAA()

hasAlpha

public boolean hasAlpha()

hasAzimut

public boolean hasAzimut()

hasBB

public boolean hasBB()

hasBotDia

public boolean hasBotDia()

hasCategory

public boolean hasCategory()

hasCC

public boolean hasCC()

hasDAB

public boolean hasDAB()

hasDAC

public boolean hasDAC()

hasDBC

public boolean hasDBC()

hasDirectionPrimary

public boolean hasDirectionPrimary()

hasL1

public boolean hasL1()

hasL2

public boolean hasL2()

hasL3

public boolean hasL3()

hasLength

public boolean hasLength()

hasOrder

public boolean hasOrder()

hasPosition

public boolean hasPosition()

hasStdAtt

public boolean hasStdAtt(int mask)

hasTopDia

public boolean hasTopDia()

hasXX

public boolean hasXX()

hasYY

public boolean hasYY()

hasZZ

public boolean hasZZ()

height

public int height(MTGNode endNode)
           throws MTGError.MTGPlantFrameException
Number of successor or branch edges from this node to an end node.

Parameters:
endNodeId -
Returns:
Throws:
MTGError.MTGPlantFrameException

newInstance

protected Node newInstance()
Description copied from class: Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
newInstance in class F
Returns:
new instance of class of this node

order

public int order(MTGNode endNode)
          throws MTGError.MTGPlantFrameException
Number of branch edges from this node to an end node.

Parameters:
endNodeId -
Returns:
Throws:
MTGError.MTGPlantFrameException

setDirectoryPrimary

public void setDirectoryPrimary(Vector3d dirp)

setStdAttFlagOff

public void setStdAttFlagOff(int mask)

setStdAttFlagOn

public void setStdAttFlagOn(int mask)

topoSonNodes

public MTGNode[] topoSonNodes(int edgeType)
Get the list of topological sons with specified edge type connection of this MTGNode.


topoSons

public int[] topoSons(int edgeType)
Get the list of topological sons with specified edge type connection of this MTGNode.