com.supermap.realspace.threeddesigner
类 ModelBuilder3D
- java.lang.Object
-
- com.supermap.realspace.threeddesigner.ModelBuilder3D
-
public abstract class ModelBuilder3D extends Object
三维建模类
-
-
构造器概要
构造器 构造器和说明 ModelBuilder3D()
-
方法概要
所有方法 静态方法 具体方法 已过时的方法 限定符和类型 方法和说明 static void
addSteppedListener(SteppedListener l)
static boolean
buildGeoBody(ArrayList<Geometry3D> geoBlocks, ArrayList<Point3Ds> ptLevels, boolean bLonLat, Geometry clipRegions)
static GeoModel3D
buildGeoBody(Point3Ds ptList, double[] maxHighList, double[] minHighList)
点集中每个点的最大高度和最小高度构建地质体。static GeoTIM
buildTIM(DatasetVector pDatasetVector, String strFieldName)
构建不规则四面体网格。static GeoTIM
buildTIM(HashMap<Point3D,Double> dicPoints, boolean bLatLon)
构建不规则四面体网格。static GeoModel3D
buildTIN(HashMap<Point3D,Double> dicPoints, Boolean bLonLat, Geometry clipRegions)
点集构建三角网模型static GeoModel3D
buildTIN(Point3Ds ptList, boolean bLonLat, Geometry clipRegions)
点集构建三角网模型。static boolean
clip(GeoModel3D model, ArrayList<Geometry> clipRegionList, ClippingType clippingType, ConstraintType constraintType)
static GeoModel3D
clip(GeoModel3D model, GeoRegion3D clipPlane, ModelClipType type)
已过时。static ArrayList<GeoRegion3D>
combinePolygon(ArrayList<GeoRegion3D> regions, boolean bLonLat, BorderType borderType, double dulplicateVerticesThreshold)
支持多个三维面合并。static boolean
combineSkeletonByMaterial(Model modelSrc, Model modelResult)
已过时。static GeoRegion3D
computeConcaveHull(Point3Ds pnts, boolean bLonLat, double dConcavity, double dLengthThreshold)
计算三维点集的凹多边形,返回的三维面带Z值static GeoModel3D
convexHull(ArrayList<GeoPoint3D> geoPnts, boolean bLonLat)
计算凸包。static Model
convexHull(Model modelSrc)
计算凸包static Model
convexHull(Model modelSrc, SkeletonID id)
计算凸包static GeoModel3D
convexHull(Point3Ds pnts, boolean bLonLat)
计算凸包。static Model
convexHull(Skeleton skeleton, Matrix matrix)
计算凸包static Model
convexHullPerSkeleton(Model modelSrc)
计算凸包:每个子对象对应一个凸包。static boolean
correctNonManifold(Skeleton skeleton, ArrayList<HashMap<Point3D,Point3D>> manifoldLines, ArrayList<Point3D> points)
校正非流形的骨架。static boolean
correctTopology(Skeleton skeleton)
骨架三角网拓扑校正static Geometry
createBuffer(Geometry geometry, boolean isLonLat, BufferParameter parameter)
三维缓冲,支持三维线、三维面缓冲(拓展)成三维面;支持三维线、三维面、模型缓冲(拓展)成三维实体模型。static ArrayList<GeoModel3D>
envelop(Geometry3D geometry3D, EnvelopParameter parameter)
三维面几何对象构建闭合体,支持非经纬度坐标三维面几何对象构建闭合体。static ArrayList<GeoModel3D>
envelop(GeoModel3D geomodel, double dbZ)
已过时。static ArrayList<GeoModel3D>
envelop(GeoRegion3D geometry, double dbZ)
已过时。static boolean
extractAttributeVoxelGrid(DatasetVector datasetVectorSrc, DatasetVolume datasetVolume, Datasource targetDatasourceDes, String strDatasetName, ColorDictionary colorDictTable, double subdivisionThreshold)
static ArrayList<GeoRegion3D>
extractBorder(GeoModel3D geoModel, BorderType borderType)
提取边界。static GeoModel3D
generateRoofedBuilding(GeoRegion geoRegion, boolean isLonLat, boolean isRandom, RoofGeneratorParameter parameter)
矢量面构建屋顶。static ArrayList<Geometry3D>
geometryMatch(GeoModel3D geoModel, ArrayList<Geometry> geometryList, MatchParameter matchParam)
二维数据通过model匹配成三维数据static GeoModel3D
linearExtrude(Geometry geometry, boolean bLonLat, double height, double twist, double scaleX, double scaleY)
已过时。static GeoModel3D
linearExtrude(Geometry geometry, boolean bLonLat, double height, double twist, double scaleX, double scaleY, TextureMapParameter texParam)
已过时。static GeoModel3D
linearExtrude(Geometry geometry, boolean bLonLat, LinearExtrudeParameter extParam, TextureMapParameter uvwParam)
线性拉伸,可进行贴图设置。static ArrayList<GeoRegion3D>
loft(GeoLine offsetSection, GeoLine3D geoLine, boolean bLonLat, boolean bGroup)
多级边坡放样,支持截面为线对象,依据道路边线放样为三维边坡面。static GeoModel3D
loft(Geometry geometry, GeoLine3D line, boolean bLonLat, int Chamfer, ChamferStyle style)
放样static GeoModel3D
loft(Geometry geometry, GeoLine3D line, boolean bLonLat, int Chamfer, ChamferStyle style, TextureMapParameter texParam)
放样static GeoModel3D
loft(Geometry geometry, GeoLine3D line, boolean bLonLat, LoftParameter loftParams, TextureMapParameter uvwParam)
放样static GeoRegion3D
makeRegion3D(Region3DParameter region3DParameter)
支持公式参数化构建矢量面static GeoModel3D
makeSurfaceMesh(SurfaceMeshParameter parameter)
曲面建模static boolean
mergeSkeleton(Model modelSrc, Model modelResult, boolean bHasLOD)
根据材质合并骨架static boolean
mirror(GeoModel3D model, Plane plane)
镜像。static boolean
mosaic(GeoModel3D model, ArrayList<Geometry> mosaicRegionList)
获取三角网操作中模型镶嵌信息,支持模型与矢量面进行镶嵌。static boolean
optimizeSkeletons(Model srcModel, Model desModel)
模型子对象优化。static GeoRegion
planeProjection(GeoModel3D model)
平面投影:仅支持投影坐标系模型static GeoRegion3D
planeProjection(GeoModel3D model, Plane plane)
平面投影static GeoRegion
planeProjection2D(GeoModel3D model, Plane plane)
平面投影,将获得的投影转到XY上static boolean
reComputeNormal(Model modelSrc, Model modelResult, NormalComputeMode normalMode, double dAngle)
重新计算法线static boolean
removeDuplicateTriangle(Skeleton skeleton)
骨架移除重复三角形。static int
removeDuplicateVertex2(Model modelSrc, Model modelResult)
移除重复顶点;结果为带属性的Indexstatic int
removeDuplicateVertex2(Skeleton skeleton)
移除重复顶点static int
removeDuplicateVertex2WithNormal(Skeleton skeleton)
移除重复点保留法线static int
removeRedundantVertex(Model modelSrc, Model modelResult, double dThreshold)
移除共面的冗余点static int
removeRedundantVertex(Skeleton skeleton, double dThreshold)
根据容差,移除 Skeleton 上共面的冗余顶点static void
removeSteppedListener(SteppedListener l)
static int
removeUnreferencedVertex(Model modelSrc, Model modelResult)
已过时。static GeoModel3D
rotateExtrude(Geometry geometry, double angle)
旋转拉伸static GeoModel3D
rotateExtrude(Geometry geometry, RotateExtrudeParameter rotParam)
旋转拉伸static GeoModel3D
sectionLoft(ArrayList<Geometry3D> arrSections, boolean isLonLat, SectionLoftParameter param)
多截面放样static ArrayList<GeoRegion3D>
sectionProjection(ArrayList<GeoModel3D> modelList, Plane plane)
截面投影,获得截面static GeoRegion
sectionProjection(GeoModel3D model)
已过时。static ArrayList<GeoRegion3D>
sectionProjection(GeoModel3D model, ArrayList<Plane> planeList)
截面投影,获得截面static GeoRegion3D
sectionProjection(GeoModel3D model, Plane plane)
截面投影,获得截面static GeoRegion
sectionProjection2D(GeoModel3D model, Plane plane)
截面投影,获得的截面转到XY上static GeoModel3D
shadowVolume(GeoModel3D model, ShadowVolumeSetting param)
创建阴影体static boolean
simplify(Model modelSrc, Model modelResult, ArrayList<SkeletonID> listIDs, double[] listRatio, boolean bConstrainBorder)
精细层指定子对象简化static boolean
simplify(Model modelSrc, Model modelResult, ArrayList<SkeletonID> listIDs, double[] listRatio, double[] listThreshold)
精细层指定子对象简化static boolean
simplify(Model modelSrc, Model modelResult, double dbRatio, boolean bConstrainBorder)
精细层简化static boolean
simplify(Model modelSrc, Model modelResult, double dbRatio, double dbThreshold)
精细层简化static GeoModel3D
skylineSectorBody(GeoLine3D line3D, Point3D pntViewer, double dHeight, boolean bLatLon)
获取天际线与观察点构成的闭合体,目前仅用于WebGL端构建实体。static int
split(Model modelSrc, Model modelResult)
已过时。static int
split(Model modelSrc, Model modelResult, double dThreshold)
已过时。static boolean
splitSkeleton(Model modelSrc, Model modelResult, boolean bVertexPositionConsidered)
模型的子对象拆分static boolean
splitSkeleton(Model srcModel, Model desModel, SplitParameter splitParameter)
骨架拆分static GeoModel3D
straightSkeleton(Geometry geometry, boolean bLonLat, double dAngle)
直骨架生成(可以用于构建坡屋顶)。static ArrayList<SunlightAnalysisPointResult>
sunlightAnalysis(Geometry3D geometry, GeoModel3D geoModelDes, SunlightAnalysisSetting param, boolean bLatLon)
日照分析static ArrayList<SunlightAnalysisPointResult>
sunlightAnalysis(Point3Ds ptList, SunlightAnalysisSetting param, boolean bLatLon)
三维点日照分析static GeoModel3D
tessellate(Geometry3D geometry3D, boolean isLonLat, TessellationParameter param)
细分,将Geometry3D转化为GeoModel3Dstatic boolean
textureBoundaryOptimization(Model srcModel, Model desModel, Color backgroundColor)
优化模型纹理边界,使接边处的纹理不发黑。static boolean
textureRemapping(Model srcModel, Model desModel)
模型数据纹理重映射。static boolean
uvwMap(GeoModel3D model, TextureMapParameter texParam)
模型贴纹理:按模型整体进行纹理贴图映射static boolean
uvwMap(Skeleton skeleton, TextureMapParameter texParam)
骨架贴纹理:按骨架进行纹理贴图映射static GeoModel3D
viewShedBody(ArrayList<Point3Ds> point3Dlist, Point3D pntViewer, double dRadius, ViewShedType type, boolean bLatLon)
获取可视域闭合体,目前仅用于WebGL端构建实体.
-
-
-
方法详细资料
-
addSteppedListener
public static void addSteppedListener(SteppedListener l)
-
removeSteppedListener
public static void removeSteppedListener(SteppedListener l)
-
generateRoofedBuilding
public static GeoModel3D generateRoofedBuilding(GeoRegion geoRegion, boolean isLonLat, boolean isRandom, RoofGeneratorParameter parameter)
矢量面构建屋顶。- 参数:
geoRegion
- 矢量面。isLonLat
- 数据是否是经纬度。isRandom
- 是否随机添加屋顶,isRandom为true时, 屋顶构造参数只需要设置一个建筑物高度,底层会随机给一个屋顶类型并设置相应的参数。parameter
- 屋顶参数。- 返回:
- 生成的屋顶模型。
-
buildGeoBody
public static boolean buildGeoBody(ArrayList<Geometry3D> geoBlocks, ArrayList<Point3Ds> ptLevels, boolean bLonLat, Geometry clipRegions)
-
buildGeoBody
public static GeoModel3D buildGeoBody(Point3Ds ptList, double[] maxHighList, double[] minHighList)
点集中每个点的最大高度和最小高度构建地质体。- 参数:
ptList
- 多层点集maxHighList
- 点的最大高度集合minHighList
- 点的最小高度集合- 返回:
- 返回生成的地质体模型
-
buildTIN
public static GeoModel3D buildTIN(Point3Ds ptList, boolean bLonLat, Geometry clipRegions)
点集构建三角网模型。- 参数:
ptList
- 点集bLonLat
- 是否是经纬度clipRegions
- 裁剪范围- 返回:
- 三角网模型
-
combineSkeletonByMaterial
@Deprecated public static boolean combineSkeletonByMaterial(Model modelSrc, Model modelResult)
已过时。
-
convexHull
public static GeoModel3D convexHull(ArrayList<GeoPoint3D> geoPnts, boolean bLonLat)
计算凸包。- 参数:
geoPnts
- 点集bLonLat
- geoPnts是否是经纬度- 返回:
- 凸包结果GeoModel3D
-
convexHull
public static GeoModel3D convexHull(Point3Ds pnts, boolean bLonLat)
计算凸包。- 参数:
pnts
- 点集bLonLat
- pnts是否是经纬度- 返回:
- 凸包结果 GeoModel3D
-
convexHull
public static Model convexHull(Model modelSrc, SkeletonID id)
计算凸包- 参数:
modelSrc
- 源模型id
- 子对象- 返回:
- 凸包结果
-
convexHullPerSkeleton
public static Model convexHullPerSkeleton(Model modelSrc)
计算凸包:每个子对象对应一个凸包。- 参数:
modelSrc
- 源模型- 返回:
- 凸包结果
-
envelop
@Deprecated public static ArrayList<GeoModel3D> envelop(GeoModel3D geomodel, double dbZ)
已过时。
-
envelop
@Deprecated public static ArrayList<GeoModel3D> envelop(GeoRegion3D geometry, double dbZ)
已过时。
-
extractBorder
public static ArrayList<GeoRegion3D> extractBorder(GeoModel3D geoModel, BorderType borderType)
提取边界。- 参数:
geoModel
- 源模型borderType
- 边界类型- 返回:
- 返回提取的模型边界GeoRegion3D对象集合
-
linearExtrude
@Deprecated public static GeoModel3D linearExtrude(Geometry geometry, boolean bLonLat, double height, double twist, double scaleX, double scaleY)
已过时。
-
linearExtrude
@Deprecated public static GeoModel3D linearExtrude(Geometry geometry, boolean bLonLat, double height, double twist, double scaleX, double scaleY, TextureMapParameter texParam)
已过时。
-
linearExtrude
public static GeoModel3D linearExtrude(Geometry geometry, boolean bLonLat, LinearExtrudeParameter extParam, TextureMapParameter uvwParam)
线性拉伸,可进行贴图设置。- 参数:
geometry
- 待进行线性拉伸的面bLonLat
- 是否是经纬度extParam
- 拉伸参数uvwParam
- 纹理设置参数- 返回:
-
loft
public static GeoModel3D loft(Geometry geometry, GeoLine3D line, boolean bLonLat, int Chamfer, ChamferStyle style)
放样- 参数:
geometry
- 放样的横截面line
- 待放样的线对象bLonLat
- 是否是经纬度Chamfer
- 平滑程度style
- 倒角样式- 返回:
- 返回GeoModel3D对象
-
loft
public static GeoModel3D loft(Geometry geometry, GeoLine3D line, boolean bLonLat, int Chamfer, ChamferStyle style, TextureMapParameter texParam)
放样- 参数:
geometry
- 放样的横截面line
- 待放样的线对象bLonLat
- 是否是经纬度Chamfer
- 平滑程度style
- 倒角样式texParam
- 贴图设置- 返回:
- 返回GeoModel3D对象
-
loft
public static GeoModel3D loft(Geometry geometry, GeoLine3D line, boolean bLonLat, LoftParameter loftParams, TextureMapParameter uvwParam)
放样- 参数:
geometry
- 放样的横截面line
- 待放样的线对象bLonLat
- 是否是经纬度loftParams
- 放样的参数uvwParam
- 纹理映射参数- 返回:
-
planeProjection
public static GeoRegion planeProjection(GeoModel3D model)
平面投影:仅支持投影坐标系模型- 参数:
model
- 源模型- 返回:
- 投影三维面
-
planeProjection
public static GeoRegion3D planeProjection(GeoModel3D model, Plane plane)
平面投影- 参数:
model
- 源模型plane
- 平面- 返回:
- 投影三维面
-
planeProjection2D
public static GeoRegion planeProjection2D(GeoModel3D model, Plane plane)
平面投影,将获得的投影转到XY上- 参数:
model
- 源模型plane
- 平面- 返回:
- 投影二维面
-
reComputeNormal
public static boolean reComputeNormal(Model modelSrc, Model modelResult, NormalComputeMode normalMode, double dAngle)
重新计算法线- 参数:
modelSrc
- 源模型modelResult
- 结果模型normalMode
- 法线计算模式dAngle
- 拆分的角度阈值- 返回:
- 是否成功
-
removeDuplicateVertex2
public static int removeDuplicateVertex2(Model modelSrc, Model modelResult)
移除重复顶点;结果为带属性的Index- 参数:
modelSrc
- 源模型modelResult
- 结果模型- 返回:
- 返回移除的点个数
-
removeDuplicateVertex2
public static int removeDuplicateVertex2(Skeleton skeleton)
移除重复顶点- 参数:
skeleton
- 源模型骨架- 返回:
- 带属性的Index
-
removeUnreferencedVertex
@Deprecated public static int removeUnreferencedVertex(Model modelSrc, Model modelResult)
已过时。移除孤立顶点- 参数:
modelSrc
- 源模型modelResult
- 结果模型- 返回:
- 返回移除的点个数
-
rotateExtrude
public static GeoModel3D rotateExtrude(Geometry geometry, double angle)
旋转拉伸- 参数:
geometry
- 面对象(必须在平面坐标系下构建)angle
- 旋转角度- 返回:
- 结果模型
-
rotateExtrude
public static GeoModel3D rotateExtrude(Geometry geometry, RotateExtrudeParameter rotParam)
旋转拉伸- 参数:
geometry
- 面对象(必须在平面坐标系下构建)rotParam
- 旋转拉伸参数- 返回:
-
sectionProjection
@Deprecated public static GeoRegion sectionProjection(GeoModel3D model)
已过时。
-
sectionProjection2D
public static GeoRegion sectionProjection2D(GeoModel3D model, Plane plane)
截面投影,获得的截面转到XY上- 参数:
model
- 待进行截面投影的三维几何模型对象plane
- 投影平面- 返回:
- 二维几何面GeoRegion
-
sectionProjection
public static GeoRegion3D sectionProjection(GeoModel3D model, Plane plane)
截面投影,获得截面- 参数:
model
- 待进行截面投影的三维几何模型对象plane
- 投影平面- 返回:
- 三维几何面GeoRegion3D
-
sectionProjection
public static ArrayList<GeoRegion3D> sectionProjection(ArrayList<GeoModel3D> modelList, Plane plane)
截面投影,获得截面- 参数:
modelList
- 待进行截面投影的三维几何模型对象集合plane
- 投影平面- 返回:
- 三维几何面GeoRegion3D
-
sectionProjection
public static ArrayList<GeoRegion3D> sectionProjection(GeoModel3D model, ArrayList<Plane> planeList)
截面投影,获得截面- 参数:
model
- 待进行截面投影的三维几何模型对象planeList
- 裁剪平面集合- 返回:
- 三维几何面GeoRegion3D集合
-
shadowVolume
public static GeoModel3D shadowVolume(GeoModel3D model, ShadowVolumeSetting param)
创建阴影体- 参数:
model
- 源模型param
- 阴影体设置参数- 返回:
- 结果模型
-
simplify
public static boolean simplify(Model modelSrc, Model modelResult, double dbRatio, boolean bConstrainBorder)
精细层简化- 参数:
modelSrc
- 源模型modelResult
- 简化结果(外部可以事先设置关联的EM)dbRatio
- 简化率:即简化为原来的多少bConstrainBorder
- 是否约束边界- 返回:
- 简化是否成功
-
simplify
public static boolean simplify(Model modelSrc, Model modelResult, double dbRatio, double dbThreshold)
精细层简化- 参数:
modelSrc
- 源模型modelResult
- 简化结果(外部可以事先设置关联的EM)dbRatio
- 简化率:即简化为原来的多少dbThreshold
- 最大简化边长:边长大于dbThreshold的,不参与简化- 返回:
- 简化是否成功
-
simplify
public static boolean simplify(Model modelSrc, Model modelResult, ArrayList<SkeletonID> listIDs, double[] listRatio, boolean bConstrainBorder)
精细层指定子对象简化- 参数:
modelSrc
- 源模型modelResult
- 简化结果(外部可以事先设置关联的EM)listIDs
- 指定子对象ID集合listRatio
- 指定子对象简化率集合:即简化为原来的多少bConstrainBorder
- 是否约束边界- 返回:
- 简化是否成功
-
simplify
public static boolean simplify(Model modelSrc, Model modelResult, ArrayList<SkeletonID> listIDs, double[] listRatio, double[] listThreshold)
精细层指定子对象简化- 参数:
modelSrc
- 源模型modelResult
- 简化结果(外部可以事先设置关联的EM)listIDs
- 指定子对象ID集合listRatio
- 指定子对象简化率集合:即简化为原来的多少listThreshold
- 指定子对象最大简化边长集合:边长大于dbThreshold的,不参与简化- 返回:
- 简化是否成功
-
split
@Deprecated public static int split(Model modelSrc, Model modelResult)
已过时。模型拆分- 参数:
modelSrc
- 源模型modelResult
- 结果模型- 返回:
- 拆分个数
-
splitSkeleton
public static boolean splitSkeleton(Model modelSrc, Model modelResult, boolean bVertexPositionConsidered)
模型的子对象拆分- 参数:
modelSrc
- 源模型modelResult
- 结果模型bVertexPositionConsidered
- 拆分时是否考虑顶点位置- 返回:
- 是否成功
-
straightSkeleton
public static GeoModel3D straightSkeleton(Geometry geometry, boolean bLonLat, double dAngle)
直骨架生成(可以用于构建坡屋顶)。- 参数:
geometry
- 面对象bLonLat
- 是否是经纬度dAngle
- 角度,一个Double值,值域(0.1,90),单位为度- 返回:
-
uvwMap
public static boolean uvwMap(GeoModel3D model, TextureMapParameter texParam)
模型贴纹理:按模型整体进行纹理贴图映射- 参数:
model
- 源模型texParam
- 纹理映射参数- 返回:
- 是否成功
-
uvwMap
public static boolean uvwMap(Skeleton skeleton, TextureMapParameter texParam)
骨架贴纹理:按骨架进行纹理贴图映射- 参数:
skeleton
- 骨架texParam
- 纹理映射参数- 返回:
- 是否成功
-
sunlightAnalysis
public static ArrayList<SunlightAnalysisPointResult> sunlightAnalysis(Geometry3D geometry, GeoModel3D geoModelDes, SunlightAnalysisSetting param, boolean bLatLon)
日照分析- 参数:
geometry
- 源对象geoModelDes
- 结果对象param
- 阴影率分析参数bLatLon
- 是否是经纬度- 返回:
-
sunlightAnalysis
public static ArrayList<SunlightAnalysisPointResult> sunlightAnalysis(Point3Ds ptList, SunlightAnalysisSetting param, boolean bLatLon)
三维点日照分析- 参数:
ptList
- 三维点集合param
- 阴影率分析参数bLatLon
- 是否是经纬度- 返回:
-
split
@Deprecated public static int split(Model modelSrc, Model modelResult, double dThreshold)
已过时。
-
skylineSectorBody
public static GeoModel3D skylineSectorBody(GeoLine3D line3D, Point3D pntViewer, double dHeight, boolean bLatLon)
获取天际线与观察点构成的闭合体,目前仅用于WebGL端构建实体。- 参数:
line3D
- 天际线分析结果线,不含视点pntViewer
- 相机视点dHeight
- 闭合体向下拉伸高度bLatLon
- 是否是经纬度- 返回:
- 创建后的闭合体
-
viewShedBody
public static GeoModel3D viewShedBody(ArrayList<Point3Ds> point3Dlist, Point3D pntViewer, double dRadius, ViewShedType type, boolean bLatLon)
获取可视域闭合体,目前仅用于WebGL端构建实体.- 参数:
point3Dlist
- 可视域球面顶点数组pntViewer
- 相机视点dRadius
- 可视域半径type
- 闭合体类型bLatLon
- 是否是经纬度数据- 返回:
- 创建后的闭合体
-
clip
@Deprecated public static GeoModel3D clip(GeoModel3D model, GeoRegion3D clipPlane, ModelClipType type)
已过时。
-
clip
public static boolean clip(GeoModel3D model, ArrayList<Geometry> clipRegionList, ClippingType clippingType, ConstraintType constraintType)
-
createBuffer
public static Geometry createBuffer(Geometry geometry, boolean isLonLat, BufferParameter parameter)
三维缓冲,支持三维线、三维面缓冲(拓展)成三维面;支持三维线、三维面、模型缓冲(拓展)成三维实体模型。也支持二维线、面数据缓冲设置。- 参数:
geometry
- 二、三维线、面及模型对象isLonLat
- 是否支持经纬度parameter
- 缓冲参数设置- 返回:
- 获得二、三维面或三维实体模型
-
mergeSkeleton
public static boolean mergeSkeleton(Model modelSrc, Model modelResult, boolean bHasLOD)
根据材质合并骨架- 参数:
modelSrc
- 源模型modelResult
- 结果模型bHasLOD
- 是否存在lod- 返回:
- 是否合并成功。true表示合并成功,false表示合并失败
-
extractAttributeVoxelGrid
public static boolean extractAttributeVoxelGrid(DatasetVector datasetVectorSrc, DatasetVolume datasetVolume, Datasource targetDatasourceDes, String strDatasetName, ColorDictionary colorDictTable, double subdivisionThreshold)
-
removeDuplicateTriangle
public static boolean removeDuplicateTriangle(Skeleton skeleton)
骨架移除重复三角形。- 参数:
skeleton
- 模型骨架- 返回:
- 成功则返回移除重复三角形的骨架
-
correctTopology
public static boolean correctTopology(Skeleton skeleton)
骨架三角网拓扑校正- 参数:
skeleton
- 指定进行三角网拓扑校正的骨架。- 返回:
- 成功则返回进行三角网拓扑校正的骨架
-
mirror
public static boolean mirror(GeoModel3D model, Plane plane)
镜像。可实现根据一个平面对模型镜像复制- 参数:
model
- 进行镜像复制的三维模型对象plane
- 平面- 返回:
- 返回true,则模型镜像复制完成
-
buildTIM
public static GeoTIM buildTIM(DatasetVector pDatasetVector, String strFieldName)
构建不规则四面体网格。- 参数:
pDatasetVector
- 待构建不规则四面体网格的点数据集strFieldName
- 特征字段名- 返回:
- 得到不规则四面体,需要将GeoTIM转成GeoModel再存储
-
buildTIM
public static GeoTIM buildTIM(HashMap<Point3D,Double> dicPoints, boolean bLatLon)
构建不规则四面体网格。- 参数:
dicPoints
- 点对象集合。键值为三维点对象,值为特征值bLatLon
- 是否是经纬度- 返回:
- 得到不规则四面体,需要将GeoTIM转成GeoModel再存储
-
mosaic
public static boolean mosaic(GeoModel3D model, ArrayList<Geometry> mosaicRegionList)
获取三角网操作中模型镶嵌信息,支持模型与矢量面进行镶嵌。- 参数:
model
- 模型对象mosaicRegionList
- 进行镶嵌的矢量面集合- 返回:
- 返回true,则模型与矢量面进行镶嵌完成
-
correctNonManifold
public static boolean correctNonManifold(Skeleton skeleton, ArrayList<HashMap<Point3D,Point3D>> manifoldLines, ArrayList<Point3D> points)
校正非流形的骨架。 实例化对象后使用,会自动判断骨架。如果校正后满足闭合条件,则骨架是闭合的;如果不满足,判断骨架任然不闭合。- 参数:
skeleton
- 进行校正的骨架manifoldLines
- 构成骨架有问题的棱角边线集合,即有问题边。键为有问题的某一边线的起始点,值为该边线的终止点points
- 有问题的点集合- 返回:
- 校正成功后,如果满足闭合条件,则骨架处理成闭合的。返回false,则校正失败
-
geometryMatch
public static ArrayList<Geometry3D> geometryMatch(GeoModel3D geoModel, ArrayList<Geometry> geometryList, MatchParameter matchParam)
二维数据通过model匹配成三维数据- 参数:
geoModel
- 用于查询匹配的模型geometryList
- 待查询的二维数据的集合matchParam
- 匹配参数- 返回:
-
loft
public static ArrayList<GeoRegion3D> loft(GeoLine offsetSection, GeoLine3D geoLine, boolean bLonLat, boolean bGroup)
多级边坡放样,支持截面为线对象,依据道路边线放样为三维边坡面。- 参数:
offsetSection
- 用于多级边坡放样的矢量线,支持二、三维矢量线数据,可表达沿道边线。必须在平面坐标系下构建geoLine
- 边坡的截面样式,用三维线表达bLonLat
- 用于放样的矢量线数据的坐标系是否是经纬度bGroup
- 放样的多级边坡是否进行打组。false表示不打组,即多级边坡是不同的对象,可以设置不同的纹理贴图;true表示打组,即多级边坡为一个对象- 返回:
-
makeSurfaceMesh
public static GeoModel3D makeSurfaceMesh(SurfaceMeshParameter parameter)
曲面建模- 参数:
parameter
- 曲面建模参数对象
-
textureRemapping
public static boolean textureRemapping(Model srcModel, Model desModel)
模型数据纹理重映射。- 参数:
srcModel
- 待纹理重映射的模型数据desModel
- 纹理重映射后的模型对象- 返回:
-
textureBoundaryOptimization
public static boolean textureBoundaryOptimization(Model srcModel, Model desModel, Color backgroundColor)
优化模型纹理边界,使接边处的纹理不发黑。- 参数:
srcModel
- 原始模型数据。desModel
- 结果模型数据。backgroundColor
- 背景色。- 返回:
- 优化模型纹理边界是否成功。返回true,优化模型纹理边界成功;返回false,优化模型纹理边界失败。
- 从以下版本开始:
- 11.2.0。
-
removeDuplicateVertex2WithNormal
public static int removeDuplicateVertex2WithNormal(Skeleton skeleton)
移除重复点保留法线- 参数:
skeleton
- 骨架- 返回:
-
combinePolygon
public static ArrayList<GeoRegion3D> combinePolygon(ArrayList<GeoRegion3D> regions, boolean bLonLat, BorderType borderType, double dulplicateVerticesThreshold)
支持多个三维面合并。- 参数:
regions
- 合并的三维面对象集合bLonLat
- 是否是经纬度坐标borderType
- 指定约束边界类型dulplicateVerticesThreshold
- 设置节点插值阈值,单位:米- 返回:
- 合并成功,获得合并后的三维面对象集合
-
makeRegion3D
public static GeoRegion3D makeRegion3D(Region3DParameter region3DParameter)
支持公式参数化构建矢量面- 参数:
region3DParameter
- 三维面参数- 返回:
-
removeRedundantVertex
public static int removeRedundantVertex(Model modelSrc, Model modelResult, double dThreshold)
移除共面的冗余点- 参数:
modelSrc
- 源模型modelResult
- 结果模型dThreshold
- 容差,点距离平面的距离小于该值,就认为是共面的,需要移除该点- 返回:
-
removeRedundantVertex
public static int removeRedundantVertex(Skeleton skeleton, double dThreshold)
根据容差,移除 Skeleton 上共面的冗余顶点- 参数:
skeleton
- 待移除冗余顶点的骨架dThreshold
- 容差,点距离平面的距离小于该值,就认为是共面的,需要移除该点- 返回:
- 返回移除了多少个点
-
splitSkeleton
public static boolean splitSkeleton(Model srcModel, Model desModel, SplitParameter splitParameter)
骨架拆分- 参数:
srcModel
- 源模型desModel
- 结果模型splitParameter
- 拆分参数- 返回:
-
buildTIN
public static GeoModel3D buildTIN(HashMap<Point3D,Double> dicPoints, Boolean bLonLat, Geometry clipRegions)
点集构建三角网模型- 参数:
dicPoints
- 点集bLonLat
- 是否是经纬度clipRegions
- 裁剪范围- 返回:
-
convexHull
public static Model convexHull(Skeleton skeleton, Matrix matrix)
计算凸包- 参数:
skeleton
- 骨架matrix
- 矩阵- 返回:
-
computeConcaveHull
public static GeoRegion3D computeConcaveHull(Point3Ds pnts, boolean bLonLat, double dConcavity, double dLengthThreshold)
计算三维点集的凹多边形,返回的三维面带Z值- 参数:
pnts
- 三维点集bLonLat
- 标识pnts是否是经纬度dConcavity
- 凹度,越大越接近凸包dLengthThreshold
- 长度阈值,越大越接近凸包- 返回:
-
envelop
public static ArrayList<GeoModel3D> envelop(Geometry3D geometry3D, EnvelopParameter parameter)
三维面几何对象构建闭合体,支持非经纬度坐标三维面几何对象构建闭合体。- 参数:
geometry3D
- 三维面几何对象parameter
- 闭合拉伸体参数,支持设置是否为经纬度,拉伸高程等参数- 返回:
- 构建的闭合体对象集合
-
tessellate
public static GeoModel3D tessellate(Geometry3D geometry3D, boolean isLonLat, TessellationParameter param)
细分,将Geometry3D转化为GeoModel3D- 参数:
geometry3D
- 参数化对象isLonLat
- 是否是经纬度param
- 模型细分参数- 返回:
- 模型对象
-
sectionLoft
public static GeoModel3D sectionLoft(ArrayList<Geometry3D> arrSections, boolean isLonLat, SectionLoftParameter param)
多截面放样- 参数:
arrSections
- 源对象集合isLonLat
- 是否是经纬度param
- 多截面放样参数- 返回:
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.