@Override public Structure buildStructure(Serialiser serialiser, PerimeterBoxROI roi) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { FieldCreate fieldCreate = FieldFactory.getFieldCreate(); Structure structure = fieldCreate .createFieldBuilder() .add("angle", ScalarType.pvDouble) .addArray("lengths", ScalarType.pvDouble) .addArray("point", ScalarType.pvDouble) .setId("PerimeterBoxROI") .createStructure(); return structure; }
@Override public Structure buildStructure(Serialiser serialiser, SpiralModel model) throws Exception { FieldCreate fieldCreate = FieldFactory.getFieldCreate(); Structure boundingBoxStructure = serialiser.buildStructure(model.getBoundingBox()); Structure structure = fieldCreate .createFieldBuilder() .add("name", ScalarType.pvString) .add("boundingBox", boundingBoxStructure) .add("fastAxisName", ScalarType.pvString) .add("slowAxisName", ScalarType.pvString) .add("scale", ScalarType.pvDouble) .setId("SpiralModel") .createStructure(); return structure; }
public static HelloPutGetRecord create(String recordName) { StandardField standardField = StandardFieldFactory.getStandardField(); FieldCreate fieldCreate = FieldFactory.getFieldCreate(); PVDataCreate pvDataCreate = PVDataFactory.getPVDataCreate(); Structure topStructure = fieldCreate .createFieldBuilder() .add("timeStamp", standardField.timeStamp()) .addNestedStructure("argument") .add("value", ScalarType.pvString) .endNested() .addNestedStructure("result") .add("value", ScalarType.pvString) .endNested() .createStructure(); PVStructure pvStructure = pvDataCreate.createPVStructure(topStructure); HelloPutGetRecord pvRecord = new HelloPutGetRecord(recordName, pvStructure); if (!pvRecord.init()) return null; return pvRecord; }