private float calculatePositionValue(PositionType type, ROVector3f target, Coordinate currentCoordinate, Coordinate coordinate) {
		
		float position = filterPosition(target, type);
		boolean isInSameSystem = currentCoordinate.equals(coordinate);
		
		if (hasParent() && !isInSameSystem) {
			
			float parentValue = filterPosition(getParent().getPosition(), type);
			
			switch (coordinate) {
				case GLOBAL:
					position += parentValue;
					break;
				case LOCAL:
					position -= parentValue;
					break;
			}
		}
		
		return position;
	}