本文整理汇总了Java中org.citygml4j.model.gml.geometry.primitives.SurfaceProperty类的典型用法代码示例。如果您正苦于以下问题:Java SurfaceProperty类的具体用法?Java SurfaceProperty怎么用?Java SurfaceProperty使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SurfaceProperty类属于org.citygml4j.model.gml.geometry.primitives包,在下文中一共展示了SurfaceProperty类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: constructPolygons
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
/**
* Constructs Polygons from CityGML boundary surface properties
* @param bsp
* @return
*/
public Vector<Polygon> constructPolygons(List<BoundarySurfaceProperty> bsp)
{
Vector<Polygon> pols = new Vector<Polygon>();
for( BoundarySurfaceProperty a : bsp)
{
AbstractBoundarySurface b = a.getBoundarySurface();
MultiSurfaceProperty c = b.getLod2MultiSurface();
MultiSurface d = c.getGeometry();
List<SurfaceProperty> e = d.getSurfaceMember();
for( SurfaceProperty f : e)
{
if(f.getGeometry().getGMLClass() == GMLClass.POLYGON)
{
pols.add(constructPolygon(f));
} else if(f.getGeometry().getGMLClass() == GMLClass.COMPOSITE_SURFACE)
{
for( SurfaceProperty g: ((CompositeSurface)f.getGeometry()).getSurfaceMember())
{
pols.add(constructPolygon(g));
}
}
}
}
return pols;
}
开发者ID:SteuerHorst,项目名称:Voluminator,代码行数:31,代码来源:PolygonConstructor.java
示例2: constructPolygon
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
/**
* Constructs a Polygon from CityGML surface property
* @param f
* @return
*/
private Polygon constructPolygon( SurfaceProperty f)
{
Polygon pol = new Polygon();
org.citygml4j.model.gml.geometry.primitives.Polygon p = (org.citygml4j.model.gml.geometry.primitives.Polygon)f.getSurface();
LinearRing r = (LinearRing) (p.getExterior().getRing());
DirectPositionList q = r.getPosList();
List<Double> a1 = q.getValue();
//exterior
pol.addExterior(constructRing(a1));
//interior
List<AbstractRingProperty> liste = (List<AbstractRingProperty>)p.getInterior();
for(AbstractRingProperty ar : liste)
{
LinearRing r2 = (LinearRing)ar.getRing();
DirectPositionList q2 = r2.getPosList();
List<Double> a2 = q2.getValue();
pol.addInterior(constructRing(a2));
}
pol.project();
return pol;
}
开发者ID:SteuerHorst,项目名称:Voluminator,代码行数:31,代码来源:PolygonConstructor.java
示例3: calcBoundingBox
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public BoundingBox calcBoundingBox() {
BoundingBox bbox = new BoundingBox();
if (isSetSurfaceMember()) {
for (SurfaceProperty surfaceProperty : getSurfaceMember())
if (surfaceProperty.isSetSurface())
bbox.update(surfaceProperty.getSurface().calcBoundingBox());
}
if (isSetSurfaceMembers()) {
SurfaceArrayProperty surfaceArrayProperty = getSurfaceMembers();
if (surfaceArrayProperty.isSetSurface())
for (AbstractSurface abstractSurface : surfaceArrayProperty.getSurface())
bbox.update(abstractSurface.calcBoundingBox());
}
return bbox;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:20,代码来源:MultiSurface.java
示例4: copyTo
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
@Override
public Object copyTo(Object target, CopyBuilder copyBuilder) {
MultiSurface copy = (target == null) ? new MultiSurface() : (MultiSurface)target;
super.copyTo(copy, copyBuilder);
if (isSetSurfaceMember()) {
for (SurfaceProperty part : surfaceMember) {
SurfaceProperty copyPart = (SurfaceProperty)copyBuilder.copy(part);
copy.addSurfaceMember(copyPart);
if (part != null && copyPart == part)
part.setParent(this);
}
}
if (isSetSurfaceMembers()) {
copy.setSurfaceMembers((SurfaceArrayProperty)copyBuilder.copy(surfaceMembers));
if (copy.getSurfaceMembers() == surfaceMembers)
surfaceMembers.setParent(this);
}
return copy;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:24,代码来源:MultiSurface.java
示例5: copyTo
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
@Override
public Object copyTo(Object target, CopyBuilder copyBuilder) {
CompositeSurface copy = (target == null) ? new CompositeSurface() : (CompositeSurface)target;
super.copyTo(copy, copyBuilder);
if (isSetSurfaceMember()) {
for (SurfaceProperty part : surfaceMember) {
SurfaceProperty copyPart = (SurfaceProperty)copyBuilder.copy(part);
copy.addSurfaceMember(copyPart);
if (part != null && copyPart == part)
part.setParent(this);
}
}
return copy;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:18,代码来源:CompositeSurface.java
示例6: apply
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public T apply(MultiSurface multiSurface) {
T object = apply((AbstractGeometricAggregate)multiSurface);
if (object != null)
return object;
if (multiSurface.isSetSurfaceMember()) {
for (SurfaceProperty surfaceProperty : new ArrayList<SurfaceProperty>(multiSurface.getSurfaceMember())) {
object = apply(surfaceProperty);
if (object != null)
return object;
}
}
if (multiSurface.isSetSurfaceMembers()) {
object = apply(multiSurface.getSurfaceMembers());
if (object != null)
return object;
}
return null;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:22,代码来源:GMLFunctionWalker.java
示例7: unmarshalAbstractBoundarySurface
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public void unmarshalAbstractBoundarySurface(SemanticsType src, AbstractBoundarySurface dest, List<AbstractSurface> surfaces, Number lod) {
dest.setId(DefaultGMLIdManager.getInstance().generateUUID());
if (src.isSetProperties())
citygml.getGenericsUnmarshaller().unmarshalSemanticsAttributes(src.getProperties(), dest);
MultiSurface multiSurface = new MultiSurface();
for (AbstractSurface surface : surfaces)
multiSurface.addSurfaceMember(new SurfaceProperty(surface));
switch (lod.intValue()) {
case 2:
dest.setLod2MultiSurface(new MultiSurfaceProperty(multiSurface));
break;
case 3:
dest.setLod3MultiSurface(new MultiSurfaceProperty(multiSurface));
break;
}
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:20,代码来源:BridgeUnmarshaller.java
示例8: unmarshalAbstractWaterBoundarySurface
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public void unmarshalAbstractWaterBoundarySurface(SemanticsType src, AbstractWaterBoundarySurface dest, List<AbstractSurface> surfaces, Number lod) {
dest.setId(DefaultGMLIdManager.getInstance().generateUUID());
if (src.isSetProperties())
citygml.getGenericsUnmarshaller().unmarshalSemanticsAttributes(src.getProperties(), dest);
CompositeSurface compositeSurface = new CompositeSurface();
for (AbstractSurface surface : surfaces)
compositeSurface.addSurfaceMember(new SurfaceProperty(surface));
switch (lod.intValue()) {
case 2:
dest.setLod2Surface(new SurfaceProperty(compositeSurface));
break;
case 3:
dest.setLod3Surface(new SurfaceProperty(compositeSurface));
break;
}
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:20,代码来源:WaterBodyUnmarshaller.java
示例9: createMultiSurface
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public MultiSurface createMultiSurface(Polygon... polygons) {
MultiSurface multiSurface = new MultiSurface();
for (Polygon polygon : polygons) {
if (polygon != null && polygon.isSetExterior())
multiSurface.addSurfaceMember(new SurfaceProperty(polygon));
}
return multiSurface;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:11,代码来源:GMLGeometryFactory.java
示例10: createSolid
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public Solid createSolid(Polygon... polygons) {
Solid solid = new Solid();
CompositeSurface exterior = new CompositeSurface();
for (Polygon polygon : polygons) {
if (polygon != null && polygon.isSetExterior())
exterior.addSurfaceMember(new SurfaceProperty(polygon));
}
if (exterior.isSetSurfaceMember())
solid.setExterior(new SurfaceProperty(exterior));
return solid;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:15,代码来源:GMLGeometryFactory.java
示例11: copyTo
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
@Override
public Object copyTo(Object target, CopyBuilder copyBuilder) {
if (target == null)
throw new IllegalArgumentException("Target argument must not be null for abstract copyable classes.");
AbstractWaterBoundarySurface copy = (AbstractWaterBoundarySurface)target;
super.copyTo(copy, copyBuilder);
if (isSetLod2Surface()) {
copy.setLod2Surface((SurfaceProperty)copyBuilder.copy(lod2Surface));
if (copy.getLod2Surface() == lod2Surface)
lod2Surface.setParent(this);
}
if (isSetLod3Surface()) {
copy.setLod3Surface((SurfaceProperty)copyBuilder.copy(lod3Surface));
if (copy.getLod3Surface() == lod3Surface)
lod3Surface.setParent(this);
}
if (isSetLod4Surface()) {
copy.setLod4Surface((SurfaceProperty)copyBuilder.copy(lod4Surface));
if (copy.getLod4Surface() == lod4Surface)
lod4Surface.setParent(this);
}
if (isSetGenericApplicationPropertyOfWaterBoundarySurface()) {
for (ADEComponent part : ade) {
ADEComponent copyPart = (ADEComponent)copyBuilder.copy(part);
copy.addGenericApplicationPropertyOfWaterBoundarySurface(copyPart);
if (part != null && copyPart == part)
part.setParent(this);
}
}
return copy;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:39,代码来源:AbstractWaterBoundarySurface.java
示例12: calcBoundingBox
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public BoundingBox calcBoundingBox() {
BoundingBox bbox = new BoundingBox();
if (isSetSurfaceMember()) {
for (SurfaceProperty surfaceProperty : getSurfaceMember())
if (surfaceProperty.isSetSurface())
bbox.update(surfaceProperty.getSurface().calcBoundingBox());
}
return bbox;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:12,代码来源:CompositeSurface.java
示例13: visit
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public void visit(MultiSurface multiSurface) {
visit((AbstractGeometricAggregate)multiSurface);
if (multiSurface.isSetSurfaceMember())
for (SurfaceProperty surfaceProperty : new ArrayList<SurfaceProperty>(multiSurface.getSurfaceMember()))
visit(surfaceProperty);
if (multiSurface.isSetSurfaceMembers())
visit(multiSurface.getSurfaceMembers());
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:11,代码来源:GMLWalker.java
示例14: marshalCompositeSurface
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public CompositeSurfaceType marshalCompositeSurface(CompositeSurface src) {
CompositeSurfaceType dest = gml.createCompositeSurfaceType();
marshalAbstractSurface(src, dest);
if (src.isSetSurfaceMember()) {
for (SurfaceProperty member : src.getSurfaceMember())
dest.getSurfaceMember().add(marshalSurfaceProperty(member));
}
return dest;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:12,代码来源:GMLMarshaller.java
示例15: marshalMultiSurface
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public MultiSurfaceType marshalMultiSurface(MultiSurface src) {
MultiSurfaceType dest = gml.createMultiSurfaceType();
marshalAbstractGeometricAggregate(src, dest);
if (src.isSetSurfaceMember()) {
for (SurfaceProperty member : src.getSurfaceMember())
dest.getSurfaceMember().add(marshalSurfaceProperty(member));
}
if (src.isSetSurfaceMembers())
dest.setSurfaceMembers(marshalSurfaceArrayProperty(src.getSurfaceMembers()));
return dest;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:15,代码来源:GMLMarshaller.java
示例16: marshalSolid
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public SolidType marshalSolid(Solid src) {
SolidType dest = gml.createSolidType();
marshalAbstractSolid(src, dest);
if (src.isSetExterior())
dest.setExterior(marshalSurfaceProperty(src.getExterior()));
if (src.isSetInterior()) {
for (SurfaceProperty interior : src.getInterior())
dest.getInterior().add(marshalSurfaceProperty(interior));
}
return dest;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:15,代码来源:GMLMarshaller.java
示例17: marshalSurfaceProperty
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public SurfacePropertyType marshalSurfaceProperty(SurfaceProperty src) {
SurfacePropertyType dest = gml.createSurfacePropertyType();
if (src.isSetSurface()) {
JAXBElement<?> elem = jaxb.marshalJAXBElement(src.getSurface());
if (elem != null && elem.getValue() instanceof AbstractSurfaceType)
dest.set_Surface((JAXBElement<? extends AbstractSurfaceType>)elem);
}
if (src.isSetRemoteSchema())
dest.setRemoteSchema(src.getRemoteSchema());
if (src.isSetType())
dest.setType(TypeType.fromValue(src.getType().getValue()));
if (src.isSetHref())
dest.setHref(src.getHref());
if (src.isSetRole())
dest.setRole(src.getRole());
if (src.isSetArcrole())
dest.setArcrole(src.getArcrole());
if (src.isSetTitle())
dest.setTitle(src.getTitle());
if (src.isSetShow())
dest.setShow(ShowType.fromValue(src.getShow().getValue()));
if (src.isSetActuate())
dest.setActuate(ActuateType.fromValue(src.getActuate().getValue()));
return dest;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:37,代码来源:GMLMarshaller.java
示例18: unmarshalSurfaceProperty
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public SurfaceProperty unmarshalSurfaceProperty(SurfacePropertyType src) {
SurfaceProperty dest = new SurfaceProperty();
if (src.isSet_Surface()) {
try {
ModelObject abstractSurface = jaxb.unmarshal(src.get_Surface());
if (abstractSurface instanceof AbstractSurface)
dest.setSurface((AbstractSurface)abstractSurface);
} catch (MissingADESchemaException e) {
//
}
}
if (src.isSetRemoteSchema())
dest.setRemoteSchema(src.getRemoteSchema());
if (src.isSetType())
dest.setType(XLinkType.fromValue(src.getType().value()));
if (src.isSetHref())
dest.setHref(src.getHref());
if (src.isSetRole())
dest.setRole(src.getRole());
if (src.isSetArcrole())
dest.setArcrole(src.getArcrole());
if (src.isSetTitle())
dest.setTitle(src.getTitle());
if (src.isSetShow())
dest.setShow(XLinkShow.fromValue(src.getShow().value()));
if (src.isSetActuate())
dest.setActuate(XLinkActuate.fromValue(src.getActuate().value()));
return dest;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:40,代码来源:GMLUnmarshaller.java
示例19: preprocessGeometry
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
private Map<Integer, MultiSurface> preprocessGeometry(WaterBody waterBody) {
Map<Integer, MultiSurface> multiSurfaces = null;
SurfaceCollector collector = new SurfaceCollector();
for (BoundedByWaterSurfaceProperty property : waterBody.getBoundedBySurface()) {
if (property.isSetWaterBoundarySurface()) {
LodRepresentation lodRepresentation = property.getWaterBoundarySurface().getLodRepresentation();
for (int lod = 2; lod < 4; lod++) {
if (lodRepresentation.isSetGeometry(lod)) {
collector.setLod(lod);
for (GeometryProperty<?> geometryProperty : lodRepresentation.getGeometry(lod))
collector.visit(geometryProperty);
}
}
}
}
if (collector.hasSurfaces()) {
multiSurfaces = new HashMap<>();
for (int lod = 2; lod < 4; lod++) {
Collection<AbstractSurface> surfaces = collector.getSurfaces(lod);
if (surfaces != null) {
MultiSurface multiSurface = new MultiSurface();
for (AbstractSurface surface : surfaces) {
SurfaceProperty dummy = new SurfaceProperty();
dummy.setLocalProperty(CityJSONMarshaller.GEOMETRY_XLINK, surface);
surface.setLocalProperty(CityJSONMarshaller.GEOMETRY_XLINK_TARGET, true);
multiSurface.addSurfaceMember(dummy);
}
multiSurfaces.put(lod, multiSurface);
}
}
}
return multiSurfaces;
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:40,代码来源:WaterBodyMarshaller.java
示例20: unmarshalAbstractOpening
import org.citygml4j.model.gml.geometry.primitives.SurfaceProperty; //导入依赖的package包/类
public void unmarshalAbstractOpening(SemanticsType src, AbstractOpening dest, List<AbstractSurface> surfaces, Number lod) {
if (src.isSetProperties())
citygml.getGenericsUnmarshaller().unmarshalSemanticsAttributes(src.getProperties(), dest);
if (lod.intValue() == 3) {
MultiSurface multiSurface = new MultiSurface();
for (AbstractSurface surface : surfaces)
multiSurface.addSurfaceMember(new SurfaceProperty(surface));
dest.setLod3MultiSurface(new MultiSurfaceProperty(multiSurface));
}
}
开发者ID:citygml4j,项目名称:citygml4j,代码行数:13,代码来源:BridgeUnmarshaller.java
注:本文中的org.citygml4j.model.gml.geometry.primitives.SurfaceProperty类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论