com.esri.arcgis.analyst3d
Class GeneralMultiPatchCreator

java.lang.Object
  extended by com.esri.arcgis.analyst3d.GeneralMultiPatchCreator
All Implemented Interfaces:
IGeneralMultiPatchCreator, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class GeneralMultiPatchCreator
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IGeneralMultiPatchCreator

The General MultiPatch Creator component.

Remarks

GeneralMultipatchCreator is used to create textured multipatches. Once a multipatch geometry is created, it can be used to make a multipatch graphics element to be added to a scene. Alternatively, the multipatch geometry can be saved to a File Geodatabase (*.gdb), a Personal Geodatabase (*.mdb), an ArcSDE Database, or a Shapefile (*.shp). If it's saved to a Shapefile, the texture'd be lost.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
GeneralMultiPatchCreator()
          Constructs a GeneralMultiPatchCreator using ArcGIS Engine.
GeneralMultiPatchCreator(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeneralMultiPatchCreator theGeneralMultiPatchCreator = (GeneralMultiPatchCreator) obj;
 
Method Summary
 void clearResources()
          Clear resources used to manage the object.
 IGeometry createMultiPatch()
          Creates the MultiPatch.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 int hashCode()
          the hashcode for this object
 void init(int pointCount, int partCount, boolean hasMs, boolean hasIDs, boolean hasNormals, int texturePointCount, IGeometryMaterialList pGeometryMaterialList)
          Initialize the creation of a general multipatch.
 void setID(int index, int iD)
          Set vertex Id.
 void setM(int index, double mValue)
          Set M at vertex index.
 void setMaterialIndex(int patch, int index)
          Set patch material index.
 void setNormal(int index, IVector3D pVector)
          Set Normal at vertex index.
 void setPatchPointIndex(int patch, int index)
          Set start index of points in patch, end index is start of next patch.
 void setPatchPriority(int patch, int priority)
          Set patch priority (>= 0).
 void setPatchTexturePointIndex(int part, int index)
          Set texture start index texture points in patch, end index is start of next patch.
 void setPatchType(int patch, int type)
          Set patch type.
 void setPoint(int index, IPoint pPoint)
          Set Point at vertex index.
 void setTexturePoint(int index, IPoint pPoint)
          Set Texture Point at vertex index.
 void setTextureWKSPoint(int index, _WKSPoint pPoint)
          Set Texture WKSPoint at vertex index.
 void setWKSPointZ(int index, _WKSPointZ pPoint)
          Set WKSPoint at vertex index.
 
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

GeneralMultiPatchCreator

public GeneralMultiPatchCreator()
                         throws IOException,
                                UnknownHostException
Constructs a GeneralMultiPatchCreator using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

GeneralMultiPatchCreator

public GeneralMultiPatchCreator(Object obj)
                         throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeneralMultiPatchCreator theGeneralMultiPatchCreator = (GeneralMultiPatchCreator) obj;

Construct a GeneralMultiPatchCreator using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to GeneralMultiPatchCreator.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

init

public void init(int pointCount,
                 int partCount,
                 boolean hasMs,
                 boolean hasIDs,
                 boolean hasNormals,
                 int texturePointCount,
                 IGeometryMaterialList pGeometryMaterialList)
          throws IOException,
                 AutomationException
Initialize the creation of a general multipatch.

Remarks

For IGeneralMultipatchCreator interface, part and patch are used interchangeably. So are point and vertex.

When initialize a multipatch, pay close attention to the number of points and texture points. The number of points represents the total point count, whereas the number of texture points represents only those that are involved in deciding texture coordinates. Therefore, the number of points should be equal or greater than the number of texture points.

For a polygonal part, the first and the last point should be at the same coordinate so that the polygon would close. So a square or rectangle polygon should have five points. This applies to rings in a multipatch. Similarly, a triangle fan's first non-center point should repeat itself in closing. Therefore a sqaure-based pyramid should have six points, rather than five.

For the ArcGIS 9.0 newly introduced multipatch part triangles, however, one triangle does not need to have an extra point to close. This means that a triangle has only three points.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
init in interface IGeneralMultiPatchCreator
Parameters:
pointCount - The pointCount (in)
partCount - The partCount (in)
hasMs - The hasMs (in)
hasIDs - The hasIDs (in)
hasNormals - The hasNormals (in)
texturePointCount - The texturePointCount (in)
pGeometryMaterialList - A reference to a com.esri.arcgis.analyst3d.IGeometryMaterialList (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPatchPointIndex

public void setPatchPointIndex(int patch,
                               int index)
                        throws IOException,
                               AutomationException
Set start index of points in patch, end index is start of next patch.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPatchPointIndex in interface IGeneralMultiPatchCreator
Parameters:
patch - The patch (in)
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPatchType

public void setPatchType(int patch,
                         int type)
                  throws IOException,
                         AutomationException
Set patch type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPatchType in interface IGeneralMultiPatchCreator
Parameters:
patch - The patch (in)
type - A com.esri.arcgis.geometry.esriPatchType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPatchPriority

public void setPatchPriority(int patch,
                             int priority)
                      throws IOException,
                             AutomationException
Set patch priority (>= 0).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPatchPriority in interface IGeneralMultiPatchCreator
Parameters:
patch - The patch (in)
priority - The priority (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaterialIndex

public void setMaterialIndex(int patch,
                             int index)
                      throws IOException,
                             AutomationException
Set patch material index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaterialIndex in interface IGeneralMultiPatchCreator
Parameters:
patch - The patch (in)
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPoint

public void setPoint(int index,
                     IPoint pPoint)
              throws IOException,
                     AutomationException
Set Point at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPoint in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWKSPointZ

public void setWKSPointZ(int index,
                         _WKSPointZ pPoint)
                  throws IOException,
                         AutomationException
Set WKSPoint at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWKSPointZ in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
pPoint - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setM

public void setM(int index,
                 double mValue)
          throws IOException,
                 AutomationException
Set M at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setM in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
mValue - The mValue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormal

public void setNormal(int index,
                      IVector3D pVector)
               throws IOException,
                      AutomationException
Set Normal at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNormal in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
pVector - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPatchTexturePointIndex

public void setPatchTexturePointIndex(int part,
                                      int index)
                               throws IOException,
                                      AutomationException
Set texture start index texture points in patch, end index is start of next patch.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPatchTexturePointIndex in interface IGeneralMultiPatchCreator
Parameters:
part - The part (in)
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTexturePoint

public void setTexturePoint(int index,
                            IPoint pPoint)
                     throws IOException,
                            AutomationException
Set Texture Point at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTexturePoint in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextureWKSPoint

public void setTextureWKSPoint(int index,
                               _WKSPoint pPoint)
                        throws IOException,
                               AutomationException
Set Texture WKSPoint at vertex index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTextureWKSPoint in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
pPoint - A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setID

public void setID(int index,
                  int iD)
           throws IOException,
                  AutomationException
Set vertex Id.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setID in interface IGeneralMultiPatchCreator
Parameters:
index - The index (in)
iD - The iD (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearResources

public void clearResources()
                    throws IOException,
                           AutomationException
Clear resources used to manage the object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearResources in interface IGeneralMultiPatchCreator
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMultiPatch

public IGeometry createMultiPatch()
                           throws IOException,
                                  AutomationException
Creates the MultiPatch.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
createMultiPatch in interface IGeneralMultiPatchCreator
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.