|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.esri.arcgis.datasourcesraster.Mensuration
public class Mensuration
Implenments interface IMensuration to provide commercial basic mensuration services for the Esri Mensuration System.
| Constructor Summary | |
|---|---|
Mensuration()
Constructs a Mensuration using ArcGIS Engine. |
|
Mensuration(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. Mensuration theMensuration = (Mensuration) obj; |
|
| Method Summary | |
|---|---|
void |
convertAngular(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
Converts angular measurement from 'fromUnit' to 'toUnit. |
void |
convertArea(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
Converts area measurement from 'fromUnit' to 'toUnit. |
String |
convertDisplayCoordUnit(int desiredDisplayUnit,
IPoint pGeographicPt)
Gets different coordinate unit display representation for input point (latitude, longitude). |
void |
convertErrCovarianceUnits(int inHorizAngularUnit,
int outHorizAngularUnit,
int inHorizLinearUnit,
int outHorizLinearUnit,
int inVertUnit,
int outVertUnit,
int horizontalUnitType,
IDoubleArray pCovariance)
Converts the covariance matrix's units. |
void |
convertLinear(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
Converts linear measurement from 'fromUnit' to 'toUnit. |
boolean |
equals(Object o)
Compare this object with another |
void |
getAngle3D(IPoint pFirstPoint,
IPoint pSecondPoint,
IAngularMeasurement[] ppAzimuthAngle,
IAngularMeasurement[] ppElevationAngle)
Computes the 3D angle of the line connecting the two input 2D map points. |
void |
getAreaAndPerimeter(IPolygon pPolygon,
IPolygonMeasurement[] ppPolygonMeasurement)
Computes the area and perimeter of a polygon with no interior holes. |
void |
getAreaAndPerimeter3D(IPolygon pPolygon,
IPolygonMeasurement[] ppPolygonMeasurement)
Computes the 3D area and perimeter of a 2D polygon with no interior holes. |
void |
getAzimuthAngle(IPoint pFirstPoint,
IPoint pSecondPoint,
IAngularMeasurement[] ppAngleMeasurement)
Computes the azimuth angle of the line connecting the two input map points. |
void |
getCentroid(IPolygon pPolygon,
IPointMeasurement[] ppPointMeasurement)
Gets the coordinates of the centroid of a polygon and the associated error covariance matrix. |
void |
getCentroid3D(IPolygon pPolygon,
IPointMeasurement[] ppPointMeasurement)
Computes the 3D centroid of a 2D polygon with no interior holes.. |
static String |
getClsid()
getClsid. |
IDoubleArray |
getDefaultPointingErrCovariance()
Default pointing error covariance matrix. |
IRaster |
getDEM()
The DEM for the raster to be used for mensuration. |
double |
getDesiredPrecision()
The iteration precision of the image-to-ground and ground-to-image calculations. |
void |
getDistance(IPoint pFirstPoint,
IPoint pSecondPoint,
IDistanceMeasurement[] ppDistMeasurement)
Computes the actual distance between two points given their map points. |
void |
getDistance3D(IPoint pFirstPoint,
IPoint pSecondPoint,
IDistanceMeasurement[] ppDistMeasurement)
Computes the 3D actual distance between two points given their 2D map points. |
void |
getHeightFromBaseAndTop(IPoint pBaseOfObject,
IPoint pTopOfObject,
IHeightMeasurement[] ppHtMeasurement)
Estimates the height of an object given the base and the top map points of the object. |
void |
getHeightFromBaseAndTopShadow(IPoint pBaseOfObject,
IPoint pTopShadowOfObject,
IHeightMeasurement[] ppHtMeasurement)
Estimates the height of an object given the map point of the object's base and the tip of the object's top shadow. |
void |
getHeightFromTopAndTopShadow(IPoint pTopOfObject,
IPoint pTopShadowOfObject,
IHeightMeasurement[] ppHtMeasurement)
Estimates the height of an object given the top map point of the object and the tip of the object's top shadow. |
String |
getName()
The name of this IMensuration object. |
void |
getPoint(IPoint pPoint,
IPointMeasurement[] ppPointMeasurement)
Gets the coordinates of a map point and the associated error covariance matrix. |
void |
getPoint3D(IPoint pInPoint,
IPointMeasurement[] ppPointMeasurement)
Computes a 3D point given a 2D map points. |
String |
getSensorModel()
The name of the sensor model currently being used by this IMensuration object. |
IPropertySet |
getSensorModelProperties()
The properties of the current sensor model. |
Object |
getSensorModelProperty(String propertyName)
Gets a property value of the sensor model currently being used by this IMensuration. |
String |
getTMName()
The name of the TerrainModel used by this IMensuration object. |
String |
getVersion()
The version of this IMensuration. |
int |
hashCode()
the hashcode for this object |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
boolean |
isCanErrorPropagate()
Indicates if the sensor model associated with the current image segment supports error propagation. |
boolean |
isCanMeasure()
Indicates if the specified image segment can be used for mensuration. |
boolean |
isCanMeasure3D()
Indicates if 3D mensuration is supported. |
boolean |
isCanMeasureHeightBaseToTop()
Indicates if the sensor model associated with the current image segment supports height mensuration. |
boolean |
isCanMeasureHeightBaseToTopShadow()
Indicates if the sensor model associated with the current image segment supports shadow mensuration. |
boolean |
isCanMeasureHeightTopToTopShadow()
Indicates if the sensor model associated with the current image segment supports shadow mensuration. |
boolean |
isCanMeasureMonoscopic()
Indicates if the sensor model associated with the current image segment supports monoscopic mensuration. |
boolean |
isCanMeasureMultiImages()
Indicates if the sensor model associated with the current image segment supports multi-image mensuration. |
boolean |
isCanMeasureStereoscopic()
Indicates if the sensor model associated with the current image segment supports stereoscopic mensuration. |
boolean |
isValid()
Indicates if all the required system parameters and resources of this IMensuration have been successfully initialized. |
void |
putSensorModelProperty(String propertyKey,
String propertyValue)
Sets a property value of the sensor model. |
void |
putTerrainParameters(String terrainModelDataSrc,
String terrainModelName)
Sets the name of the terrain model and the associated terrain model data source information. |
void |
setDefaultPointingErrCovariance(IDoubleArray ppPointingErrCovMatrix)
Default pointing error covariance matrix. |
void |
setDEMByRef(IRaster ppRaster)
The DEM for the raster to be used for mensuration. |
void |
setDesiredPrecision(double pPrecision)
The iteration precision of the image-to-ground and ground-to-image calculations. |
void |
setRasterByRef(IRaster rhs1)
The raster object to be used for mensuration. |
void |
significantFigures(double measurementValue,
double uncertainty,
String[] pMeasurement,
String[] pUncertainty)
Truncates input mensuration and uncertainty values based on acceptable rules for reporting measurement and uncertianty values. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
|---|
getJintegraDispatch, release |
| Constructor Detail |
|---|
public Mensuration()
throws IOException,
UnknownHostException
IOException - if there are interop problems
UnknownHostException - if there are interop problems
public Mensuration(Object obj)
throws IOException
Mensuration theMensuration = (Mensuration) obj;
obj to Mensuration.
obj - an object returned from ArcGIS Engine or Server
IOException - if there are interop problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
public boolean isCanErrorPropagate()
throws IOException,
AutomationException
isCanErrorPropagate in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasure()
throws IOException,
AutomationException
isCanMeasure in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureHeightBaseToTop()
throws IOException,
AutomationException
isCanMeasureHeightBaseToTop in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureMonoscopic()
throws IOException,
AutomationException
isCanMeasureMonoscopic in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureMultiImages()
throws IOException,
AutomationException
isCanMeasureMultiImages in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureHeightTopToTopShadow()
throws IOException,
AutomationException
isCanMeasureHeightTopToTopShadow in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureHeightBaseToTopShadow()
throws IOException,
AutomationException
isCanMeasureHeightBaseToTopShadow in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasureStereoscopic()
throws IOException,
AutomationException
isCanMeasureStereoscopic in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void convertAngular(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
throws IOException,
AutomationException
convertAngular in interface IMensurationfromUnit - A com.esri.arcgis.system.esriDirectionUnits constant (in)toUnit - A com.esri.arcgis.system.esriDirectionUnits constant (in)inputValue - The inputValue (in)pOutputValue - The pOutputValue (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void convertArea(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
throws IOException,
AutomationException
convertArea in interface IMensurationfromUnit - A com.esri.arcgis.system.esriAreaUnits constant (in)toUnit - A com.esri.arcgis.system.esriAreaUnits constant (in)inputValue - The inputValue (in)pOutputValue - The pOutputValue (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String convertDisplayCoordUnit(int desiredDisplayUnit,
IPoint pGeographicPt)
throws IOException,
AutomationException
convertDisplayCoordUnit in interface IMensurationdesiredDisplayUnit - A com.esri.arcgis.datasourcesraster.esriDisplayCoordUnitType constant (in)pGeographicPt - A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void convertLinear(int fromUnit,
int toUnit,
double inputValue,
double[] pOutputValue)
throws IOException,
AutomationException
convertLinear in interface IMensurationfromUnit - A com.esri.arcgis.system.esriUnits constant (in)toUnit - A com.esri.arcgis.system.esriUnits constant (in)inputValue - The inputValue (in)pOutputValue - The pOutputValue (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void convertErrCovarianceUnits(int inHorizAngularUnit,
int outHorizAngularUnit,
int inHorizLinearUnit,
int outHorizLinearUnit,
int inVertUnit,
int outVertUnit,
int horizontalUnitType,
IDoubleArray pCovariance)
throws IOException,
AutomationException
convertErrCovarianceUnits in interface IMensurationinHorizAngularUnit - A com.esri.arcgis.system.esriDirectionUnits constant (in)outHorizAngularUnit - A com.esri.arcgis.system.esriDirectionUnits constant (in)inHorizLinearUnit - A com.esri.arcgis.system.esriUnits constant (in)outHorizLinearUnit - A com.esri.arcgis.system.esriUnits constant (in)inVertUnit - A com.esri.arcgis.system.esriUnits constant (in)outVertUnit - A com.esri.arcgis.system.esriUnits constant (in)horizontalUnitType - The horizontalUnitType (in)pCovariance - A reference to a com.esri.arcgis.system.IDoubleArray (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IDoubleArray getDefaultPointingErrCovariance()
throws IOException,
AutomationException
getDefaultPointingErrCovariance in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDefaultPointingErrCovariance(IDoubleArray ppPointingErrCovMatrix)
throws IOException,
AutomationException
setDefaultPointingErrCovariance in interface IMensurationppPointingErrCovMatrix - A reference to a com.esri.arcgis.system.IDoubleArray (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IRaster getDEM()
throws IOException,
AutomationException
getDEM in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDEMByRef(IRaster ppRaster)
throws IOException,
AutomationException
setDEMByRef in interface IMensurationppRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public double getDesiredPrecision()
throws IOException,
AutomationException
getDesiredPrecision in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDesiredPrecision(double pPrecision)
throws IOException,
AutomationException
setDesiredPrecision in interface IMensurationpPrecision - The pPrecision (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getAreaAndPerimeter(IPolygon pPolygon,
IPolygonMeasurement[] ppPolygonMeasurement)
throws IOException,
AutomationException
getAreaAndPerimeter in interface IMensurationpPolygon - A reference to a com.esri.arcgis.geometry.IPolygon (in)ppPolygonMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPolygonMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getAzimuthAngle(IPoint pFirstPoint,
IPoint pSecondPoint,
IAngularMeasurement[] ppAngleMeasurement)
throws IOException,
AutomationException
getAzimuthAngle in interface IMensurationpFirstPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)pSecondPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppAngleMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IAngularMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getCentroid(IPolygon pPolygon,
IPointMeasurement[] ppPointMeasurement)
throws IOException,
AutomationException
getCentroid in interface IMensurationpPolygon - A reference to a com.esri.arcgis.geometry.IPolygon (in)ppPointMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPointMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getDistance(IPoint pFirstPoint,
IPoint pSecondPoint,
IDistanceMeasurement[] ppDistMeasurement)
throws IOException,
AutomationException
getDistance in interface IMensurationpFirstPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)pSecondPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppDistMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IDistanceMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getHeightFromBaseAndTop(IPoint pBaseOfObject,
IPoint pTopOfObject,
IHeightMeasurement[] ppHtMeasurement)
throws IOException,
AutomationException
getHeightFromBaseAndTop in interface IMensurationpBaseOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)pTopOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)ppHtMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IHeightMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getHeightFromBaseAndTopShadow(IPoint pBaseOfObject,
IPoint pTopShadowOfObject,
IHeightMeasurement[] ppHtMeasurement)
throws IOException,
AutomationException
getHeightFromBaseAndTopShadow in interface IMensurationpBaseOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)pTopShadowOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)ppHtMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IHeightMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getHeightFromTopAndTopShadow(IPoint pTopOfObject,
IPoint pTopShadowOfObject,
IHeightMeasurement[] ppHtMeasurement)
throws IOException,
AutomationException
getHeightFromTopAndTopShadow in interface IMensurationpTopOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)pTopShadowOfObject - A reference to a com.esri.arcgis.geometry.IPoint (in)ppHtMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IHeightMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getPoint(IPoint pPoint,
IPointMeasurement[] ppPointMeasurement)
throws IOException,
AutomationException
getPoint in interface IMensurationpPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppPointMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPointMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public Object getSensorModelProperty(String propertyName)
throws IOException,
AutomationException
getSensorModelProperty in interface IMensurationpropertyName - The propertyName (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getName()
throws IOException,
AutomationException
getName in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void putSensorModelProperty(String propertyKey,
String propertyValue)
throws IOException,
AutomationException
putSensorModelProperty in interface IMensurationpropertyKey - The propertyKey (in)propertyValue - The propertyValue (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void putTerrainParameters(String terrainModelDataSrc,
String terrainModelName)
throws IOException,
AutomationException
putTerrainParameters in interface IMensurationterrainModelDataSrc - The terrainModelDataSrc (in)terrainModelName - The terrainModelName (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setRasterByRef(IRaster rhs1)
throws IOException,
AutomationException
setRasterByRef in interface IMensurationrhs1 - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getSensorModel()
throws IOException,
AutomationException
getSensorModel in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IPropertySet getSensorModelProperties()
throws IOException,
AutomationException
getSensorModelProperties in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void significantFigures(double measurementValue,
double uncertainty,
String[] pMeasurement,
String[] pUncertainty)
throws IOException,
AutomationException
significantFigures in interface IMensurationmeasurementValue - The measurementValue (in)uncertainty - The uncertainty (in)pMeasurement - The pMeasurement (out: use single element array)pUncertainty - The pUncertainty (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getTMName()
throws IOException,
AutomationException
getTMName in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isValid()
throws IOException,
AutomationException
isValid in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getVersion()
throws IOException,
AutomationException
getVersion in interface IMensurationIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanMeasure3D()
throws IOException,
AutomationException
isCanMeasure3D in interface IMensuration3DIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getPoint3D(IPoint pInPoint,
IPointMeasurement[] ppPointMeasurement)
throws IOException,
AutomationException
getPoint3D in interface IMensuration3DpInPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppPointMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPointMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getCentroid3D(IPolygon pPolygon,
IPointMeasurement[] ppPointMeasurement)
throws IOException,
AutomationException
getCentroid3D in interface IMensuration3DpPolygon - A reference to a com.esri.arcgis.geometry.IPolygon (in)ppPointMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPointMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getDistance3D(IPoint pFirstPoint,
IPoint pSecondPoint,
IDistanceMeasurement[] ppDistMeasurement)
throws IOException,
AutomationException
getDistance3D in interface IMensuration3DpFirstPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)pSecondPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppDistMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IDistanceMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getAngle3D(IPoint pFirstPoint,
IPoint pSecondPoint,
IAngularMeasurement[] ppAzimuthAngle,
IAngularMeasurement[] ppElevationAngle)
throws IOException,
AutomationException
getAngle3D in interface IMensuration3DpFirstPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)pSecondPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)ppAzimuthAngle - A reference to a com.esri.arcgis.datasourcesraster.IAngularMeasurement (out: use single element array)ppElevationAngle - A reference to a com.esri.arcgis.datasourcesraster.IAngularMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getAreaAndPerimeter3D(IPolygon pPolygon,
IPolygonMeasurement[] ppPolygonMeasurement)
throws IOException,
AutomationException
getAreaAndPerimeter3D in interface IMensuration3DpPolygon - A reference to a com.esri.arcgis.geometry.IPolygon (in)ppPolygonMeasurement - A reference to a com.esri.arcgis.datasourcesraster.IPolygonMeasurement (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void interfaceSupportsErrorInfo(GUID riid)
throws IOException,
AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo in interface ISupportErrorInforiid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||