13.5.2-6 baseline
Former-commit-id:3837fbe670
[formerly 726299a49759971bf9a79ca7598c4f39ecb6721c] Former-commit-id:3821475d4e
This commit is contained in:
parent
31111f4f52
commit
059549438a
16 changed files with 203 additions and 137 deletions
|
@ -76,7 +76,9 @@ import com.raytheon.viz.mpe.ui.rsc.MPEFieldResourceData.MPEFieldFrame;
|
||||||
* Nov 29, 2012 mschenke Initial creation
|
* Nov 29, 2012 mschenke Initial creation
|
||||||
* May 28, 2013 15971 lbousaidi change the reading hour for SATPRE
|
* May 28, 2013 15971 lbousaidi change the reading hour for SATPRE
|
||||||
* since the start time in the file is one
|
* since the start time in the file is one
|
||||||
* hour less than the file time stamp.
|
* hour less than the file time stamp.
|
||||||
|
* Sep 17, 2013 16563 snaples Updated createFrameImage to handle trace precip
|
||||||
|
* properly when mapping to screen.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -148,6 +150,7 @@ public class MPEFieldResource extends
|
||||||
* @param frame
|
* @param frame
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("incomplete-switch")
|
||||||
private short[] getEditedData(MPEFieldFrame frame) {
|
private short[] getEditedData(MPEFieldFrame frame) {
|
||||||
short[] editedData = frame.getEditedData();
|
short[] editedData = frame.getEditedData();
|
||||||
if (editedData != null) {
|
if (editedData != null) {
|
||||||
|
@ -413,16 +416,42 @@ public class MPEFieldResource extends
|
||||||
.getColorMapParameters();
|
.getColorMapParameters();
|
||||||
UnitConverter dataToImage = params.getDataToImageConverter();
|
UnitConverter dataToImage = params.getDataToImageConverter();
|
||||||
short[] data = getEditedData(frame);
|
short[] data = getEditedData(frame);
|
||||||
|
DisplayFieldData cvuse = resourceData.getFieldData();
|
||||||
int length = data.length;
|
int length = data.length;
|
||||||
short[] imageData = new short[length];
|
short[] imageData = new short[length];
|
||||||
for (int i = 0; i < length; ++i) {
|
switch (cvuse) {
|
||||||
short value = data[i];
|
case Locbias:
|
||||||
if (value == MISSING_VALUE) {
|
case Height:
|
||||||
imageData[i] = 0;
|
case Index:
|
||||||
} else {
|
case Locspan:
|
||||||
imageData[i] = (short) dataToImage.convert(value);
|
case mintempPrism:
|
||||||
|
case maxtempPrism:
|
||||||
|
for (int i = 0; i < length; ++i) {
|
||||||
|
short value = data[i];
|
||||||
|
if (value == MISSING_VALUE) {
|
||||||
|
imageData[i] = 0;
|
||||||
|
} else {
|
||||||
|
imageData[i] = (short) dataToImage.convert(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default :
|
||||||
|
for (int i = 0; i < length; ++i) {
|
||||||
|
short value = data[i];
|
||||||
|
if (value == MISSING_VALUE) {
|
||||||
|
imageData[i] = 0;
|
||||||
|
} else if(value <= 0){
|
||||||
|
imageData[i] = 1;
|
||||||
|
} else if(value > 0 && value < 25){
|
||||||
|
value = 10;
|
||||||
|
imageData[i] = (short) dataToImage.convert(value);
|
||||||
|
} else {
|
||||||
|
imageData[i] = (short) dataToImage.convert(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return new GriddedImageDisplay2(ShortBuffer.wrap(imageData),
|
return new GriddedImageDisplay2(ShortBuffer.wrap(imageData),
|
||||||
gridGeometry, this);
|
gridGeometry, this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -275,8 +275,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData {
|
||||||
case mintempPrism:
|
case mintempPrism:
|
||||||
case maxtempPrism:
|
case maxtempPrism:
|
||||||
return NonSI.FAHRENHEIT;
|
return NonSI.FAHRENHEIT;
|
||||||
|
default:
|
||||||
|
return NonSI.INCH;
|
||||||
}
|
}
|
||||||
return NonSI.INCH;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Unit<?> getDataUnitsForField(DisplayFieldData fieldData) {
|
public static Unit<?> getDataUnitsForField(DisplayFieldData fieldData) {
|
||||||
|
@ -293,7 +294,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData {
|
||||||
case mintempPrism:
|
case mintempPrism:
|
||||||
case maxtempPrism:
|
case maxtempPrism:
|
||||||
return NonSI.FAHRENHEIT.divide(10);
|
return NonSI.FAHRENHEIT.divide(10);
|
||||||
|
|
||||||
|
default :
|
||||||
|
return SI.MILLIMETER.divide(100);
|
||||||
}
|
}
|
||||||
return SI.MILLIMETER.divide(100);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,8 @@ export IH_DB_NAME=hd_ob92oax
|
||||||
### flag to control grib deprecation ###
|
### flag to control grib deprecation ###
|
||||||
if [ -z "$gribMode" ]; then
|
if [ -z "$gribMode" ]; then
|
||||||
# uncomment only one of the following two lines
|
# uncomment only one of the following two lines
|
||||||
export gribMode=deprecated
|
#export gribMode=deprecated
|
||||||
#export gribMode=future
|
export gribMode=future
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## end of grib deprecation flag ###
|
## end of grib deprecation flag ###
|
||||||
|
|
|
@ -140,10 +140,14 @@ class MasterInterface(object):
|
||||||
|
|
||||||
def reloadModule(self, moduleName):
|
def reloadModule(self, moduleName):
|
||||||
if sys.modules.has_key(moduleName):
|
if sys.modules.has_key(moduleName):
|
||||||
# because the user might have added or removed items
|
# Because the user might have removed items
|
||||||
# from the module's dictionary, we cannot trust reload() here.
|
# from the module's dictionary, we cannot trust reload() to
|
||||||
sys.modules.__delitem__(moduleName)
|
# remove old items. We will manually remove everything
|
||||||
__import__(moduleName)
|
# but built-ins to ensure everything gets re-initialized when
|
||||||
|
# reload() is called.
|
||||||
|
mod = sys.modules[moduleName]
|
||||||
|
modGlobalsToRemove = [k for k in mod.__dict__ if not k.startswith('_')]
|
||||||
|
for k in modGlobalsToRemove:
|
||||||
|
mod.__dict__.pop(k)
|
||||||
|
reload(mod)
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig;
|
||||||
* 02/24/2012 14535 W. Kwock Correct the duration value.
|
* 02/24/2012 14535 W. Kwock Correct the duration value.
|
||||||
* 11/29/2012 15530 lbousaidi corrected posting and production time for
|
* 11/29/2012 15530 lbousaidi corrected posting and production time for
|
||||||
* latestobsvalue table.
|
* latestobsvalue table.
|
||||||
|
* 09/19/2013 16515 w. Kwock Fix the excessive digits in rawpp,lake,height...tables
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -1065,7 +1066,7 @@ public class PostTables {
|
||||||
cs.setString(5, shefData.getExtremum().getCode());
|
cs.setString(5, shefData.getExtremum().getCode());
|
||||||
cs.setTimestamp(6, new Timestamp(shefData.getObservationTimeObj()
|
cs.setTimestamp(6, new Timestamp(shefData.getObservationTimeObj()
|
||||||
.getTime()));
|
.getTime()));
|
||||||
cs.setFloat(7, Float.parseFloat(dataValue));
|
cs.setDouble(7, Double.parseDouble(dataValue));
|
||||||
cs.setString(8, qualifier);
|
cs.setString(8, qualifier);
|
||||||
cs.setInt(9, (int) qualityCode);
|
cs.setInt(9, (int) qualityCode);
|
||||||
|
|
||||||
|
@ -1184,7 +1185,7 @@ public class PostTables {
|
||||||
cs.setString(5, shefData.getExtremum().getCode());
|
cs.setString(5, shefData.getExtremum().getCode());
|
||||||
cs.setTimestamp(6, new java.sql.Timestamp(shefData
|
cs.setTimestamp(6, new java.sql.Timestamp(shefData
|
||||||
.getObservationTimeObj().getTime()));
|
.getObservationTimeObj().getTime()));
|
||||||
cs.setFloat(7, Float.parseFloat(dataValue));
|
cs.setDouble(7, Double.parseDouble(dataValue));
|
||||||
cs.setString(8, qualifier);
|
cs.setString(8, qualifier);
|
||||||
cs.setInt(9, (int) qualityCode);
|
cs.setInt(9, (int) qualityCode);
|
||||||
|
|
||||||
|
@ -1316,7 +1317,7 @@ public class PostTables {
|
||||||
timeStamp = new java.sql.Timestamp(basisDate.getTime());
|
timeStamp = new java.sql.Timestamp(basisDate.getTime());
|
||||||
cs.setTimestamp(8, timeStamp);
|
cs.setTimestamp(8, timeStamp);
|
||||||
|
|
||||||
cs.setFloat(9, Float.parseFloat(dataValue));
|
cs.setDouble(9, Double.parseDouble(dataValue));
|
||||||
|
|
||||||
cs.setString(10, qualifier);
|
cs.setString(10, qualifier);
|
||||||
|
|
||||||
|
@ -1534,7 +1535,7 @@ public class PostTables {
|
||||||
ps.setTimestamp(8, timeStamp2);
|
ps.setTimestamp(8, timeStamp2);
|
||||||
|
|
||||||
// ps.setFloat(9, Float.parseFloat(shefDataValue.getStringValue()));
|
// ps.setFloat(9, Float.parseFloat(shefDataValue.getStringValue()));
|
||||||
ps.setFloat(9, shefDataValue.getValue().floatValue());
|
ps.setDouble(9, shefDataValue.getValue().floatValue());
|
||||||
|
|
||||||
if (updateFlag) {
|
if (updateFlag) {
|
||||||
ps.setString(10, lid);
|
ps.setString(10, lid);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
c28b0356ba38c6aa1c3ad220caf3ad27f2534f33
|
2d8d4c03270ef631f167570cf0c03461ff832fea
|
|
@ -1 +1 @@
|
||||||
c28b0356ba38c6aa1c3ad220caf3ad27f2534f33
|
2d8d4c03270ef631f167570cf0c03461ff832fea
|
|
@ -174,7 +174,7 @@ void main_mpe_fieldgen_for_calls_from_editor(int num_args, char ** args)
|
||||||
sprintf ( message , "\t\tMPE Precip Processing -- %s\n", strTempTime) ;
|
sprintf ( message , "\t\tMPE Precip Processing -- %s\n", strTempTime) ;
|
||||||
printMessage( message, logFile );
|
printMessage( message, logFile );
|
||||||
|
|
||||||
sprintf ( message , "\t\tLast Modification: August 1, 2013 \n") ;
|
sprintf ( message , "\t\tLast Modification: September 19, 2013 \n") ;
|
||||||
printMessage( message, logFile );
|
printMessage( message, logFile );
|
||||||
sprintf ( message , "\t\t \n") ;
|
sprintf ( message , "\t\t \n") ;
|
||||||
printMessage( message, logFile );
|
printMessage( message, logFile );
|
||||||
|
|
|
@ -201,21 +201,6 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data ,
|
||||||
idate = date.month*1000000 + date.day*10000 + date.year;
|
idate = date.month*1000000 + date.day*10000 + date.year;
|
||||||
sprintf(fname,"%s/%s%08d%02dz",dirname,cv_use_tmp,idate,date.hour);
|
sprintf(fname,"%s/%s%08d%02dz",dirname,cv_use_tmp,idate,date.hour);
|
||||||
}
|
}
|
||||||
else if ( display_data == display_satPrecip )
|
|
||||||
{
|
|
||||||
iyr = date.year ;
|
|
||||||
imo = date.month ;
|
|
||||||
ida = date.day ;
|
|
||||||
ihr = date.hour ;
|
|
||||||
im = 0 ;
|
|
||||||
is = 0 ;
|
|
||||||
tdiff = -1 ;
|
|
||||||
tunit = 2 ;
|
|
||||||
TADJ ( & iyr , & imo , & ida , & ihr , & im , & is , & tdiff , & tunit ) ;
|
|
||||||
sprintf ( fname , "%s/%4d%02d%02d_%02d00.multi" , dirname , iyr , imo ,
|
|
||||||
ida , ihr ) ;
|
|
||||||
|
|
||||||
}
|
|
||||||
else if ( display_data == display_rfcMosaic )
|
else if ( display_data == display_rfcMosaic )
|
||||||
{
|
{
|
||||||
sprintf(fname,"%s/%s01%sz",dirname,cv_use_tmp,date.cdate);
|
sprintf(fname,"%s/%s01%sz",dirname,cv_use_tmp,date.cdate);
|
||||||
|
@ -225,16 +210,10 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data ,
|
||||||
sprintf(fname,"%s/%s%sz",dirname,cv_use_tmp,date.cdate);
|
sprintf(fname,"%s/%s%sz",dirname,cv_use_tmp,date.cdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( display_data != display_satPrecip )
|
len_fname = strlen ( fname ) ;
|
||||||
{
|
display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize );
|
||||||
len_fname = strlen ( fname ) ;
|
|
||||||
display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Special logic to process the satellite image. */
|
|
||||||
display_field_read_spe ( data_array_tmp , fname, addition_flag ) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,13 @@ public class Command implements Cloneable {
|
||||||
|
|
||||||
this.elementClass = ec;
|
this.elementClass = ec;
|
||||||
this.elementCode = eid;
|
this.elementCode = eid;
|
||||||
|
boolean extendArgLengthToEven = false;
|
||||||
|
// ORIGINAL does not contain the following "if"
|
||||||
|
if (l==32) { // normally maxes at 31 (to indicate long-form command); 32 indicates...
|
||||||
|
extendArgLengthToEven = true; // ..."push" needed to even length (used for little endian text)
|
||||||
|
l = 31;
|
||||||
|
}
|
||||||
|
// end of this change to ORIGINAL, but see also extendArgLengthToEven reference below...
|
||||||
if (l != 31) {
|
if (l != 31) {
|
||||||
this.args = new int[l];
|
this.args = new int[l];
|
||||||
for (int i = 0; i < l; i++)
|
for (int i = 0; i < l; i++)
|
||||||
|
@ -107,6 +114,11 @@ public class Command implements Cloneable {
|
||||||
else {
|
else {
|
||||||
done = true;
|
done = true;
|
||||||
}
|
}
|
||||||
|
//ORIGINAL doesn't contain following statement...
|
||||||
|
if (extendArgLengthToEven && l % 2 == 1) {
|
||||||
|
l++;
|
||||||
|
}
|
||||||
|
// end of this change to ORIGINAL, but see also extendArgLengthToEven reference above
|
||||||
if (this.args == null) {
|
if (this.args == null) {
|
||||||
this.args = new int[l];
|
this.args = new int[l];
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,10 @@ public class NcCGM extends CGM implements Cloneable {
|
||||||
|
|
||||||
if (c == null) continue; // or should we add as null command?
|
if (c == null) continue; // or should we add as null command?
|
||||||
|
|
||||||
|
if (c instanceof NcLineWidth || c instanceof NcTextAlignment) {
|
||||||
|
logger.info("[CGM command #" + com + " completed] " + c.toString());
|
||||||
|
}
|
||||||
|
|
||||||
logger.debug("[CGM command #" + com + " completed] " + c.toString());
|
logger.debug("[CGM command #" + com + " completed] " + c.toString());
|
||||||
|
|
||||||
for (ICommandListener listener : this.commandListeners) {
|
for (ICommandListener listener : this.commandListeners) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class NcLineWidth extends LineWidth implements INcCommand {
|
||||||
public void paint(IGraphicsTarget target, PaintProperties paintProps,
|
public void paint(IGraphicsTarget target, PaintProperties paintProps,
|
||||||
IDescriptor descriptor,
|
IDescriptor descriptor,
|
||||||
ImageBuilder ib) throws VizException {
|
ImageBuilder ib) throws VizException {
|
||||||
ib.currentLineWidth = this.width / 10.0; // TODO ??
|
ib.currentLineWidth = this.width / 1.0; // TODO ??
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,105 +3,108 @@
|
||||||
*/
|
*/
|
||||||
package gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm;
|
package gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm;
|
||||||
|
|
||||||
|
import gov.noaa.nws.ncep.viz.rsc.ntrans.jcgm.Text;
|
||||||
|
import gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder;
|
||||||
|
|
||||||
import java.io.DataInput;
|
import java.io.DataInput;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.eclipse.swt.graphics.RGB;
|
|
||||||
|
|
||||||
import com.raytheon.uf.viz.core.DrawableString;
|
import com.raytheon.uf.viz.core.DrawableString;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.HorizontalAlignment;
|
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle;
|
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
|
||||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||||
import com.raytheon.uf.viz.core.drawables.IFont;
|
|
||||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.geom.PixelCoordinate;
|
|
||||||
|
|
||||||
import gov.noaa.nws.ncep.viz.rsc.ntrans.jcgm.Text;
|
|
||||||
import gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author bhebbard
|
* @author bhebbard
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class NcText extends Text implements INcCommand {
|
public class NcText extends Text implements INcCommand {
|
||||||
|
|
||||||
private final Log logger = LogFactory.getLog(this.getClass()); //TODO static better??
|
private final Log logger = LogFactory.getLog(this.getClass()); // TODO
|
||||||
|
// static
|
||||||
static boolean flipflop = true;
|
// better??
|
||||||
|
|
||||||
/**
|
static boolean flipflop = true;
|
||||||
* @param ec
|
|
||||||
* @param eid
|
|
||||||
* @param l
|
|
||||||
* @param in
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public NcText(int ec, int eid, int l, DataInput in) throws IOException {
|
|
||||||
super(ec, eid, l, in);
|
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/**
|
||||||
* @see gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm.INcCommand#paint(com.raytheon.uf.viz.core.IGraphicsTarget, com.raytheon.uf.viz.core.drawables.PaintProperties, gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder)
|
* @param ec
|
||||||
*/
|
* @param eid
|
||||||
@Override
|
* @param l
|
||||||
public void paint(IGraphicsTarget target, PaintProperties paintProps,
|
* @param in
|
||||||
IDescriptor descriptor,
|
* @throws IOException
|
||||||
ImageBuilder ib) throws VizException {
|
*/
|
||||||
|
public NcText(int ec, int eid, int l, DataInput in) throws IOException {
|
||||||
DrawableString ds = new DrawableString(this.string, ib.currentLineColor); //TODO:why?
|
// To handle little-endian strings, we need to bump an odd length ("l") parameter
|
||||||
double[] newpoint = new double[] { 0.0, 0.0 };
|
// up one to make it even (ending on two-byte CGM word boundary), so that we
|
||||||
if (flipflop) //TODO test code
|
// get the last character. (Will be flipped into place later.) Note that
|
||||||
{
|
// special case of l=31 indicates "long form" (string length >=31 char, to
|
||||||
newpoint = ib.scalePoint(this.position.x, this.position.y);
|
// be specified in following 2-byte integer), so the parent constructor for
|
||||||
}
|
// Command has also been modified to interpret l=32 fed up to it as a signal
|
||||||
else
|
// to handle as l=31, then "bump" the long-form length it reads (from next
|
||||||
{
|
// 2 bytes) up to even value if needed.
|
||||||
newpoint = ib.scalePointNoZoom(this.position.x, this.position.y);
|
super(ec, eid, (l + 1) / 2 * 2, in);
|
||||||
}
|
}
|
||||||
//flipflop = ! flipflop ;
|
|
||||||
ds.setCoordinates(newpoint[0],newpoint[1]);
|
|
||||||
|
|
||||||
ds.font = ib.currentFont;
|
|
||||||
ds.textStyle = ib.textStyle;
|
|
||||||
ds.horizontalAlignment = ib.horizontalAlignment;
|
|
||||||
ds.verticallAlignment = ib.verticalAlignment;
|
|
||||||
|
|
||||||
ib.strings.add(ds);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
IFont font = target.initializeFont("Monospace", 14, new IFont.Style[] { IFont.Style.BOLD});
|
|
||||||
PixelCoordinate textLoc = new PixelCoordinate( this.position.x * ib.scaling,
|
|
||||||
this.position.y * ib.scaling, 0 );
|
|
||||||
target.drawString(font,
|
|
||||||
this.string, textLoc.getX(),
|
|
||||||
textLoc.getY(), 0.0,
|
|
||||||
TextStyle.NORMAL,
|
|
||||||
new RGB( 255, 255, 200 ),
|
|
||||||
HorizontalAlignment.CENTER,
|
|
||||||
VerticalAlignment.MIDDLE, 0.0);
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see
|
||||||
|
* gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm.INcCommand#paint(com.raytheon.uf
|
||||||
|
* .viz.core.IGraphicsTarget,
|
||||||
|
* com.raytheon.uf.viz.core.drawables.PaintProperties,
|
||||||
|
* gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void paint(IGraphicsTarget target, PaintProperties paintProps,
|
||||||
|
IDescriptor descriptor, ImageBuilder ib) throws VizException {
|
||||||
|
|
||||||
public void flipString() {
|
DrawableString ds = new DrawableString(this.string, ib.currentLineColor); // TODO:why?
|
||||||
// Flip every even char with its odd sibling (endianess reversal)
|
double[] newpoint = new double[] { 0.0, 0.0 };
|
||||||
String oldString = this.string;
|
if (flipflop) // TODO test code
|
||||||
char[] oldCharArray = oldString.toCharArray();
|
{
|
||||||
int lengthOfNewArray = oldCharArray.length / 2 * 2; // if odd length, discard last character (null)
|
newpoint = ib.scalePoint(this.position.x, this.position.y);
|
||||||
char[] newCharArray = new char[lengthOfNewArray];
|
} else {
|
||||||
for (int i = 0 ; i < lengthOfNewArray ; i = i + 2 ) {
|
newpoint = ib.scalePointNoZoom(this.position.x, this.position.y);
|
||||||
newCharArray[i] = oldCharArray[i+1];
|
}
|
||||||
newCharArray[i+1] = oldCharArray[i];
|
// flipflop = ! flipflop ;
|
||||||
}
|
ds.setCoordinates(newpoint[0], newpoint[1]);
|
||||||
String newString = new String(newCharArray);
|
|
||||||
this.string = newString;
|
ds.font = ib.currentFont;
|
||||||
}
|
ds.textStyle = ib.textStyle;
|
||||||
|
ds.horizontalAlignment = ib.horizontalAlignment;
|
||||||
|
ds.verticallAlignment = ib.verticalAlignment;
|
||||||
|
|
||||||
|
ib.strings.add(ds);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IFont font = target.initializeFont("Monospace", 14, new IFont.Style[]
|
||||||
|
* { IFont.Style.BOLD}); PixelCoordinate textLoc = new PixelCoordinate(
|
||||||
|
* this.position.x * ib.scaling, this.position.y * ib.scaling, 0 );
|
||||||
|
* target.drawString(font, this.string, textLoc.getX(), textLoc.getY(),
|
||||||
|
* 0.0, TextStyle.NORMAL, new RGB( 255, 255, 200 ),
|
||||||
|
* HorizontalAlignment.CENTER, VerticalAlignment.MIDDLE, 0.0);
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void flipString() {
|
||||||
|
// Flip every even char with its odd sibling (endianess reversal)
|
||||||
|
String oldString = this.string;
|
||||||
|
char[] oldCharArray = oldString.toCharArray();
|
||||||
|
int lengthOfNewArray = oldCharArray.length / 2 * 2; // if odd length,
|
||||||
|
// discard last
|
||||||
|
// character (null)
|
||||||
|
char[] newCharArray = new char[lengthOfNewArray];
|
||||||
|
for (int i = 0; i < lengthOfNewArray; i = i + 2) {
|
||||||
|
newCharArray[i] = oldCharArray[i + 1];
|
||||||
|
newCharArray[i + 1] = oldCharArray[i];
|
||||||
|
}
|
||||||
|
String newString = new String(newCharArray);
|
||||||
|
this.string = newString.trim();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,11 +48,24 @@ public class NcTextAlignment extends TextAlignment implements INcCommand {
|
||||||
// Map/convert CGM-style text alignments to their IGraphicsTarget equivalents.
|
// Map/convert CGM-style text alignments to their IGraphicsTarget equivalents.
|
||||||
|
|
||||||
switch (this.horizontalAlignment) {
|
switch (this.horizontalAlignment) {
|
||||||
|
case NORMAL_HORIZONTAL:
|
||||||
|
//TODO: Following is sort of a hack, to deal with the way legacy
|
||||||
|
// NTRANS metafiles are created by the NC driver code. A horizontal
|
||||||
|
// alignment of CENTER appears to be coded (intentionally or otherwise)
|
||||||
|
// in the legacy generated CGM by a *vertical* alignment value of CAP.
|
||||||
|
// Might want to investigate, and possibly bring legacy code to CGM
|
||||||
|
// compliance.
|
||||||
|
if (this.verticalAlignment == TextAlignment.VerticalAlignment.CAP) {
|
||||||
|
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.CENTER;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.LEFT;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case LEFT:
|
case LEFT:
|
||||||
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.LEFT;
|
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.LEFT;
|
||||||
break;
|
break;
|
||||||
case NORMAL_HORIZONTAL:
|
case CONTINOUS_HORIZONTAL: //TODO??
|
||||||
case CONTINOUS_HORIZONTAL: //TODO??
|
|
||||||
case CENTRE:
|
case CENTRE:
|
||||||
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.CENTER;
|
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.CENTER;
|
||||||
break;
|
break;
|
||||||
|
@ -69,13 +82,17 @@ public class NcTextAlignment extends TextAlignment implements INcCommand {
|
||||||
case TOP:
|
case TOP:
|
||||||
case CAP: //TODO??
|
case CAP: //TODO??
|
||||||
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.TOP;
|
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.TOP;
|
||||||
|
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
|
||||||
|
break;
|
||||||
case HALF:
|
case HALF:
|
||||||
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.MIDDLE;
|
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.MIDDLE;
|
||||||
|
break;
|
||||||
case NORMAL_VERTICAL:
|
case NORMAL_VERTICAL:
|
||||||
case CONTINOUS_VERTICAL: //TODO??
|
case CONTINOUS_VERTICAL: //TODO??
|
||||||
case BASE: //TODO??
|
case BASE: //TODO??
|
||||||
case BOTTOM:
|
case BOTTOM:
|
||||||
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
|
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
//TODO fail
|
//TODO fail
|
||||||
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
|
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
|
||||||
|
|
|
@ -105,7 +105,9 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
shadedShape.dispose();
|
if (shadedShape != null) {
|
||||||
|
shadedShape.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,6 +136,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
|
||||||
// if so dispose of the existing data and process the new record
|
// if so dispose of the existing data and process the new record
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get PDO from the given RDO
|
// Get PDO from the given RDO
|
||||||
|
|
||||||
DfltRecordRscDataObj ntransRDO = (DfltRecordRscDataObj) rscDataObj;
|
DfltRecordRscDataObj ntransRDO = (DfltRecordRscDataObj) rscDataObj;
|
||||||
|
@ -187,7 +190,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
|
||||||
|
|
||||||
//TODO Add optional (cool) debug dump of CGM representation
|
//TODO Add optional (cool) debug dump of CGM representation
|
||||||
|
|
||||||
//cgm.showCGMCommands();
|
// cgm.showCGMCommands();
|
||||||
|
|
||||||
// Save away just the info needed to draw this frame
|
// Save away just the info needed to draw this frame
|
||||||
|
|
||||||
|
@ -453,6 +456,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
wireframeForThisColor.compile();
|
wireframeForThisColor.compile();
|
||||||
|
//TODO to be correct, should be lineWidth in effect at individual wireframe paints
|
||||||
target.drawWireframeShape(wireframeForThisColor, color, (float) ib.currentLineWidth);
|
target.drawWireframeShape(wireframeForThisColor, color, (float) ib.currentLineWidth);
|
||||||
wireframeForThisColor.dispose();
|
wireframeForThisColor.dispose();
|
||||||
}
|
}
|
||||||
|
|
|
@ -350,7 +350,7 @@ if [ "${1}" = "-viz" ]; then
|
||||||
buildRPM "awips2"
|
buildRPM "awips2"
|
||||||
buildRPM "awips2-common-base"
|
buildRPM "awips2-common-base"
|
||||||
# buildRPM "awips2-rcm"
|
# buildRPM "awips2-rcm"
|
||||||
# buildRPM "awips2-hydroapps-shared"
|
buildRPM "awips2-hydroapps-shared"
|
||||||
# buildRPM "awips2-notification"
|
# buildRPM "awips2-notification"
|
||||||
buildCAVE
|
buildCAVE
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
|
@ -364,7 +364,7 @@ fi
|
||||||
if [ "${1}" = "-edex" ]; then
|
if [ "${1}" = "-edex" ]; then
|
||||||
#buildRPM "awips2"
|
#buildRPM "awips2"
|
||||||
#buildRPM "awips2-common-base"
|
#buildRPM "awips2-common-base"
|
||||||
# buildRPM "awips2-adapt-native"
|
buildRPM "awips2-adapt-native"
|
||||||
#buildRPM "awips2-python-qpid"
|
#buildRPM "awips2-python-qpid"
|
||||||
# buildRPM "awips2-cli"
|
# buildRPM "awips2-cli"
|
||||||
buildRPM "awips2-gfesuite-client"
|
buildRPM "awips2-gfesuite-client"
|
||||||
|
@ -379,6 +379,16 @@ if [ "${1}" = "-edex" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${1}" = "-localization" ]; then
|
||||||
|
buildLocalizationRPMs
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ "${1}" = "-qpid" ]; then
|
if [ "${1}" = "-qpid" ]; then
|
||||||
buildQPID
|
buildQPID
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
|
|
Loading…
Add table
Reference in a new issue