org.universAAL.ontology.shape
Class Shape

Package class diagram package Shape
java.lang.Object
  extended by org.universAAL.middleware.rdf.Resource
      extended by org.universAAL.middleware.rdf.FinalizedResource
          extended by org.universAAL.middleware.owl.ManagedIndividual
              extended by org.universAAL.ontology.shape.Shape
Direct Known Subclasses:
BooleanShape, Shape2D, Shape3D

public abstract class Shape
extends ManagedIndividual

Ontological representation of any geometric shape. Methods included in this class are the mandatory ones for representing an ontological concept in Java classes for uAAL. Usually it includes getters and setters for most of its properties.

Author:
chwirth

Field Summary
static String MY_URI
           
static String PROP_BOUNDING_VOLUME
           
static String PROP_LOCAL_COORDINATE_SYSTEM
           
static String PROP_POINT_REPRESENTATION
           
 
Fields inherited from class org.universAAL.middleware.owl.ManagedIndividual
OWL_NAMESPACE, TYPE_OWL_INDIVIDUAL, TYPE_OWL_THING
 
Fields inherited from class org.universAAL.middleware.rdf.Resource
ANON_URI_PREFIX, blockAddingTypes, isXMLLiteral, ns_delim_index, PROP_RDF_FIRST, PROP_RDF_REST, PROP_RDF_TYPE, PROP_RDFS_COMMENT, PROP_RDFS_LABEL, PROP_SERIALIZATION_FULL, PROP_SERIALIZATION_OPTIONAL, PROP_SERIALIZATION_REDUCED, PROP_SERIALIZATION_UNDEFINED, PROP_uAAL_INVOLVED_HUMAN_USER, props, RDF_EMPTY_LIST, RDF_NAMESPACE, RDFS_NAMESPACE, TYPE_RDF_LIST, TYPE_RDFS_CLASS, uAAL_NAMESPACE_PREFIX, uAAL_SERVICE_NAMESPACE, uAAL_VOCABULARY_NAMESPACE, uri
 
Constructor Summary
Shape()
          Creates a Shape object
Shape(CoordinateSystem system)
          Creates a Shape object
Shape(Point pointRep, CoordinateSystem system)
          Creates a Shape object
Shape(String uri)
          Creates a Shape object
Shape(String uri, CoordinateSystem system)
          Creates a Shape object
Shape(String uri, Point pointRep, CoordinateSystem system)
          Creates a Shape object
 
Method Summary
protected abstract  Shape computeBoundingVolume()
          Implementation Note: Must compute and set bounding sphere or box as PROP_BOUNDING_VOLUME
abstract  boolean contains(Point p)
          returns if the given point is within the shape
 Shape getBoundingVolume()
          Returns the bounding volume of this Shape3D.
 Point getCenter()
          returns the centerpoint of the object
 String getClassURI()
          Get the class URI for this ManagedIndividual.
 float getDistanceByBoundingVolume(Shape shape)
           
abstract  float getDistanceTo(Point p)
          Implementation Note: The points have to be transformed to a common coordinate system via CoordinateSystem.findCommonCoordinateSystem and getInHigherCoordinateSystem(commonSystem)
 CoordinateSystem getLocalCoordinateSystem()
           
 Point getPointRepresentation()
          if no explicit point representation was set, the center of the shape is returned
 int getPropSerializationType(String propURI)
          Answers if the given property has to be considered when serializing this individual in a minimized way, and if not ignore-able, whether its value should be presented in its full form or can be reduced.
 boolean intersects(Point base, Point dir)
          Calculates the intersection of an ray with the bounding volume of the shape
 void removeBoundingVolume()
           
 void removePointRepresentation()
           
 void setBoundingVolume(Shape shape)
          Sets an explicit bounding volume, disabling the automated bounding volume calculation If an other Shape than a Sphere or Box should be used, the ray intersection method in Shape has to be extended
 void setLocalCoordinateSystem(CoordinateSystem system)
           
 void setPointRepresentation(Point point)
           
 
Methods inherited from class org.universAAL.middleware.owl.ManagedIndividual
checkCompatibility, checkMembership, copy, deepCopy, getClassRestrictionsOnProperty, getInstance, getNonAbstractSuperClasses, getNonabstractSuperClasses, getOntClassInfo, getTypeURI, isRegisteredClassURI, isWellFormed, setProperty, setPropertyPathFromOffset, toManagedIndividual
 
Methods inherited from class org.universAAL.middleware.rdf.FinalizedResource
addType, getLocalName, getNamespace, getProperty, getPropertyURIs, getType, getTypes, getURI, hasQualifiedName, isAnon, numberOfProperties
 
Methods inherited from class org.universAAL.middleware.rdf.Resource
addMultiLangProp, asList, asList, asRDFList, changeProperty, equals, generateAnonURI, getDefaultLang, getFilename, getMultiLangProp, getOrConstructLabel, getResource, getResourceComment, getResourceLabel, getStaticFieldValue, hashCode, hasProperty, isAnon, isBlockingAddingTypes, isClosedCollection, isQualifiedName, literal, representsQualifiedURI, serializesAsXMLLiteral, setPropertyPath, setPropertyPath, setResourceComment, setResourceLabel, toString, toStringRecursive, toStringRecursive, unliteral
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MY_URI

public static final String MY_URI
See Also:
Constant Field Values

PROP_POINT_REPRESENTATION

public static final String PROP_POINT_REPRESENTATION
See Also:
Constant Field Values

PROP_LOCAL_COORDINATE_SYSTEM

public static final String PROP_LOCAL_COORDINATE_SYSTEM
See Also:
Constant Field Values

PROP_BOUNDING_VOLUME

public static final String PROP_BOUNDING_VOLUME
See Also:
Constant Field Values
Constructor Detail

Shape

public Shape(String uri)
Creates a Shape object

Parameters:
uri - the object URI

Shape

public Shape()
Creates a Shape object


Shape

public Shape(String uri,
             Point pointRep,
             CoordinateSystem system)
Creates a Shape object

Parameters:
uri - this value can also be a null object
pointRep - a (optional) single point Represenation
system - The local coordinate system, normally a OriginedMetric

Shape

public Shape(Point pointRep,
             CoordinateSystem system)
Creates a Shape object

Parameters:
pointRep - a (optional) single point Represenation
system - The local coordinate system, normally a OriginedMetric

Shape

public Shape(String uri,
             CoordinateSystem system)
Creates a Shape object

Parameters:
uri - the universal identifier
system - The local coordinate system, normally a OriginedMetric

Shape

public Shape(CoordinateSystem system)
Creates a Shape object

Parameters:
system - The local coordinate system, normally a OriginedMetric
Method Detail

getClassURI

public String getClassURI()
Description copied from class: ManagedIndividual
Get the class URI for this ManagedIndividual. All non-abstract subclasses MUST overwrite this method!

Overrides:
getClassURI in class ManagedIndividual
Returns:
The class URI.

getPointRepresentation

public Point getPointRepresentation()
if no explicit point representation was set, the center of the shape is returned

Returns:

getCenter

public Point getCenter()
returns the centerpoint of the object

Returns:
the centerpoint

getDistanceByBoundingVolume

public float getDistanceByBoundingVolume(Shape shape)
Parameters:
shape -
Returns:

getDistanceTo

public abstract float getDistanceTo(Point p)
Implementation Note: The points have to be transformed to a common coordinate system via CoordinateSystem.findCommonCoordinateSystem and getInHigherCoordinateSystem(commonSystem)

Parameters:
p -
Returns:
the distance as positiv value or Point.NO_COMPUTABLE_DISTANCE or Point.INTERSECTING

setPointRepresentation

public void setPointRepresentation(Point point)

removePointRepresentation

public void removePointRepresentation()

getPropSerializationType

public int getPropSerializationType(String propURI)
Description copied from class: ManagedIndividual
Answers if the given property has to be considered when serializing this individual in a minimized way, and if not ignore-able, whether its value should be presented in its full form or can be reduced. The return value must be one of Resource.PROP_SERIALIZATION_OPTIONAL, Resource.PROP_SERIALIZATION_REDUCED, or Resource.PROP_SERIALIZATION_FULL. It can be assumed that the given property is one of those returned by FinalizedResource.getPropertyURIs(). Decision criterion should be if the value of this property is absolutely necessary when this resource is being sent to a remote node. If the subclass rates it as unlikely that the receiver side would need this info, the answer should be PROP_SERIALIZATION_OPTIONAL in favor of lower communication traffic and higher performance even at risk of a possible additional query on the receiver side for fetching this info. With the same rationale, if a property should be included in the process of serialization, it is preferable to include it in a reduced form; in this case the return value should be PROP_SERIALIZATION_REDUCED, otherwise PROP_SERIALIZATION_FULL can be returned.

Specified by:
getPropSerializationType in class ManagedIndividual

setLocalCoordinateSystem

public void setLocalCoordinateSystem(CoordinateSystem system)

getLocalCoordinateSystem

public CoordinateSystem getLocalCoordinateSystem()

getBoundingVolume

public Shape getBoundingVolume()
Returns the bounding volume of this Shape3D. If no volume was set, a minimal axis aligned bounding box or sphere will be returned.

Returns:
the shape object representing the bounding volume

computeBoundingVolume

protected abstract Shape computeBoundingVolume()
Implementation Note: Must compute and set bounding sphere or box as PROP_BOUNDING_VOLUME

Returns:
the bounding volume

setBoundingVolume

public void setBoundingVolume(Shape shape)
Sets an explicit bounding volume, disabling the automated bounding volume calculation If an other Shape than a Sphere or Box should be used, the ray intersection method in Shape has to be extended

Parameters:
shape - FHSphere or a Box

removeBoundingVolume

public void removeBoundingVolume()

intersects

public boolean intersects(Point base,
                          Point dir)
Calculates the intersection of an ray with the bounding volume of the shape

Parameters:
base - the base of the ray
dir - the direction vector of the ray
Returns:
true, if the ray intersects the shape

contains

public abstract boolean contains(Point p)
returns if the given point is within the shape

Parameters:
p -
Returns:


Copyright © 2014 universAAL Consortium. All Rights Reserved.